我有以下代码:
$("#chkbx_first").change(function () {
if ($(this).attr("checked")) {
alert("Check Box Selected"); //do something when checked
} else {
alert("Check Box Unselected"); //do something when cleared
}
问题在于,尽管在复选框上仍然存在第二个延迟 - “复选框未选中”。为什么没有出现第一个警报?
是否有其他方法可以跟踪CHECK事件? 感谢名单。
答案 0 :(得分:2)
$(this).attr("checked");
将not work with from jQuery 1.6.
改为使用
jquery .prop()
。
$(this).prop("checked");
<强> DEMO 强>
或
jquery .is()
。
$(this).is(':checked')
<强> DEMO 强>
或
this.checked
<强> DEMO 强>
答案 1 :(得分:1)
尝试if (this.checked)
或使用.prop()
$("#chkbx_first").change(function () {
if (this.checked) { // or if($(this).prop("checked")){
alert("Check Box Selected"); //do something when checked
} else {
alert("Check Box Unselected"); //do something when cleared
}
}
答案 2 :(得分:1)
Checked属性不是复选框的属性,请改用<{1}}
.prop()
您可以使用原生DOM(更快)
$(this).prop('checked')