使用jquery跟踪复选框事件

时间:2014-04-06 15:41:13

标签: javascript jquery html

我有以下代码:

$("#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事件? 感谢名单。

3 个答案:

答案 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
    }
}

阅读Attributes vs. Properties

答案 2 :(得分:1)

Checked属性不是复选框的属性,请改用<{1}}

.prop()

您可以使用原生DOM(更快)

$(this).prop('checked')