如何检查是否未使用jQuery检查复选框?是否存在.click(....)
的负面内容?
这是我的代码:
$().ready(function () {
// validate UserSettings form on keyup and submit
$('#CheckBox').click(function () {
$("#TextBox").validate({
rules: {
NextLocation: {
required: true
}
}
});
});
});
此代码的工作方式与我想要的相反(如果选中复选框,则设置为true)。 如果选中复选框,我希望不要设置为true
答案 0 :(得分:1)
您可以使用!
确保在当前条件为false
时执行此操作。因此,当您选中复选框时执行代码执行的情况时,只需像我一样在代码的开头添加!
。而且你会得到代码。其他功能将是它们.click()
的方式等等。
$('input[type=checkbox]').click(function () { // use #CheckBox if you want to
if(!$(this).prop('checked')) { // if NO checkbox checked
$('div').html("checked");
}
})
如果未选中复选框,则会显示!
答案 1 :(得分:1)
您的代码......
$().ready(function () {
// validate UserSettings form on keyup and submit
$('#CheckBox').click(function () {
$("#TextBox").validate({
rules: {
NextLocation: {
required: true
}
}
});
});
});
......有以下问题......
1)$().ready()
不推荐as per jQuery docs。请改用$(document).ready()
。
2)您无法将.validate()
附加到输入元素。它只会附加到<form>
元素。
3).validate()
方法仅用于初始化插件,而不用于测试任何内容。因此,它通常不属于click
处理程序。一旦构造了表单,您就会只发送一次 .validate()
,通常是在DOM就绪处理程序中。
4)如果您想根据其他内容的状态制作required
内容,可以在depends
规则中使用required
方法。
下面的工作演示显示,当未选中名为NextLocation
的复选框时,名为required
的文本字段仅为check
:
$(document).ready(function () { // DOM ready handler
$('#myform').validate({ // attach to form to initialize plugin with options
rules: {
NextLocation: {
required: {
depends: function () {
return !$('input[name="check"]').is(':checked');
}
}
}
}
});
});
HTML:
<form id="myform">
Checkbox: <input type="checkbox" name="check" />
NextLocation: <input type="text" name="NextLocation" />
</form>
答案 2 :(得分:0)
试试这个
if($("#CheckBox").prop('checked')){
//do something
}
答案 3 :(得分:0)
在if语句中尝试此操作
$('#checkbox').is('checked')
答案 4 :(得分:0)
您有两种方法:
A - 你可以使用点击功能进行更改:
...
('#CheckBox').click(function () {
if($(this).is(':checked')){
...
}
});
...
B - 使用更改功能,我更喜欢
$("#CheckBox").change(function(){
if($(this).checked){
...
}
});