当取消选中复选框时,我想使用jQuery获取checkbox
的值,并在弹出窗口中显示该未选中的值。我尝试了下面的代码,但它不起作用。
$("#countries input:checkbox:not(:checked)").click(function(){
var val = $(this).val();
alert('uncheckd' + val);
});
用这种方式可以获取未选中的值吗?
当取消选中复选框时,我想使用jQuery获取checkbox
的值,并在弹出窗口中显示该未选中的值。我尝试了下面的代码,但它不起作用。
$("#countries input:checkbox:not(:checked)").click(function(){
var val = $(this).val();
alert('uncheckd' + val);
});
用这种方式可以获取未选中的值吗?
您的选择器只会将事件附加到最初选择的元素。当值改变时,您需要确定选中或取消选中的状态:
$("#countries input:checkbox").change(function() {
var ischecked= $(this).is(':checked');
if(!ischecked)
alert('uncheckd ' + $(this).val());
});
你应该在点击或更改时检查条件。我希望我的示例能对你有所帮助。
$("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
$("#countries input:checkbox").on('change',function()
{
if(!$(this).is(':checked'))
alert('uncheckd ' + $(this).val());
});