检查是否未使用jQuery检查复选框?

时间:2013-11-19 18:34:54

标签: jquery asp.net checkbox jquery-validate

如何检查是否未使用jQuery检查复选框?是否存在.click(....)的负面内容?

这是我的代码:

$().ready(function () {
        // validate UserSettings form on keyup and submit
        $('#CheckBox').click(function () {
            $("#TextBox").validate({
                rules: {
                    NextLocation: {
                        required: true
                    }
                }
            });
        });
    });

此代码的工作方式与我想要的相反(如果选中复选框,则设置为true)。 如果选中复选框,我希望不要设置为true

5 个答案:

答案 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>

DEMO:http://jsfiddle.net/dymmw/

答案 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){
      ...
   }

});