作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个复选框,选中时会显示隐藏的组合框。当我提交表单并且复选框未按下(组合框仍然隐藏)时,它仍然将隐藏的组合框作为“必填”字段。这是我的代码:
$(function() {
var checkbox = $("#hascustpo");
var hidden = $("#custpo");
hidden.hide();
checkbox.change(function() {
if (checkbox.is(':checked')) {
checkbox.attr("required", true);
hidden.show();
} else {
hidden.hide();
checkbox.attr("required", false);
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label>
<input type="checkbox" name="hascustpo" value="True" id="hascustpo"/>
Has Customer PO
</label><br>
<div id="custpo">
<label>Customer PO Number <b style="color:red;">*</b></label>
<select id="txtfield" style="width: 200px;" name="custpo" class="inputvalues" required>
<option disabled selected>-- Customer PO Number</option>
<option>AUTO PO NUM | DESCRIPTION</option>
</select>
<br>
</div>
最佳答案
首先,我猜您想设置隐藏元素所需的内容,而不是复选框。
其次,你应该更好地使用 prop 来实现这一点:) http://api.jquery.com/prop/
另一种方法是 removeAttr
但 prop
更适合您的情况。请参阅.prop('checked',false) or .removeAttr('checked')?
$(function() {
var checkbox = $("#hascustpo");
var hidden = $("#custpo");
var input = $("#txtfield");
hidden.hide();
checkbox.change(function() {
if (checkbox.is(':checked')) {
input.prop("required", true);
hidden.show();
} else {
hidden.hide();
input.prop("required", false);
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<label>
<input type="checkbox" name="hascustpo" value="True" id="hascustpo"/>
Has Customer PO
</label><br>
<div id="custpo">
<label>Customer PO Number <b style="color:red;">*</b></label>
<select id="txtfield" style="width: 200px;" name="custpo" class="inputvalues" required>
<option disabled selected>-- Customer PO Number</option>
<option>AUTO PO NUM | DESCRIPTION</option>
</select>
<br>
</div>
<button type="submit">Submit</botton>
</form>
关于javascript - 仅当单击复选框时才将组合框设置为必填字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51175218/
我是一名优秀的程序员,十分优秀!