Jquery,如何获取复选框未选中的事件和复选框值?

Miu*_*nga 20 html javascript checkbox jquery

我想checkbox使用jQuery 获取值,取消选中已选中的复选框并在弹出窗口中显示未选中的值.我试过下面的代码,但它不起作用

$("#countries input:checkbox:not(:checked)").click(function(){
    var val = $(this).val();
    alert('uncheckd' + val);
}); 
Run Code Online (Sandbox Code Playgroud)

是否有可能以这种方式获得未经检查的价值?

Mil*_*war 42

您的选择器只会将事件附加到在开头选择的元素.您需要在更改值时确定检查未选中状态:

$("#countries input:checkbox").change(function() {
    var ischecked= $(this).is(':checked');
    if(!ischecked)
    alert('uncheckd ' + $(this).val());
}); 
Run Code Online (Sandbox Code Playgroud)

工作演示


Sen*_*hil 11

您应该在点击或更改时检查条件.我希望我的榜样能帮到你.

    $("input:checkbox.country").click(function() {
        if(!$(this).is(":checked"))
        alert('you are unchecked ' + $(this).val());
    }); 
Run Code Online (Sandbox Code Playgroud)
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

    <input class="country" type="checkbox" name="country1" value="India" /> India </br>
    <input class="country" type="checkbox" name="country1" value="Russia" /> Russia <br>
    <input class="country" type="checkbox" name="country1" value="USA" /> USA <br>
    <input class="country" type="checkbox" name="country1" value="UK" /> UK
Run Code Online (Sandbox Code Playgroud)


Pra*_*eek 8

 $("#countries input:checkbox").on('change',function()
 {
   if(!$(this).is(':checked'))
      alert('uncheckd ' + $(this).val());
 }); 
Run Code Online (Sandbox Code Playgroud)