【问题标题】:Jquery, How get checkbox unchecked event and checkbox value?Jquery,如何获取复选框未选中事件和复选框值?
【发布时间】:2015-01-31 15:17:59
【问题描述】:
我想在取消选中复选框并在弹出窗口中显示未选中的值时使用 jQuery 获取 checkbox 值。我试过下面的代码,但它不起作用
$("#countries input:checkbox:not(:checked)").click(function(){
var val = $(this).val();
alert('uncheckd' + val);
});
这种方式可以得到未选中的值吗?
【问题讨论】:
标签:
javascript
jquery
html
checkbox
【解决方案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());
});