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

Posted

技术标签:

【中文标题】Jquery,如何获取复选框未选中事件和复选框值?【英文标题】:Jquery, How get checkbox unchecked event and checkbox value? 【发布时间】:2015-01-31 15:17:59 【问题描述】:

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

$("#countries input:checkbox:not(:checked)").click(function()
    var val = $(this).val();
    alert('uncheckd' + val);
); 

这种方式可以得到未选中的值吗?

【问题讨论】:

【参考方案1】:

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

$("#countries input:checkbox").change(function() 
    var ischecked= $(this).is(':checked');
    if(!ischecked)
    alert('uncheckd ' + $(this).val());
); 

Working Demo

【讨论】:

【参考方案2】:

您应该检查点击或更改的条件。希望我的例子对你有所帮助。

    $("input:checkbox.country").click(function() 
        if(!$(this).is(":checked"))
        alert('you are unchecked ' + $(this).val());
    ); 
    <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

【讨论】:

【参考方案3】:
 $("#countries input:checkbox").on('change',function()
 
   if(!$(this).is(':checked'))
      alert('uncheckd ' + $(this).val());
 ); 

【讨论】:

以上是关于Jquery,如何获取复选框未选中事件和复选框值?的主要内容,如果未能解决你的问题,请参考以下文章

Jquery 复选框选中和未选中事件

如果 php 和 jQuery 选中或未选中,则在 php 中动态创建复选框值

JQUERY:获取选中和未选中复选框的 id

PHP jquery设置复选框值,如果选中或未选中并发布

如何使用jquery检查表单中未选中的radio,定位到这个radio并输出提示信息

jQuery是复选框上的属性更新未触发更改事件