无法捕获HTML字符串中元素的click事件

时间:2016-10-04 17:04:32

标签: javascript jquery html ajax asp.net-mvc

我可以轻松捕捉复选框的点击事件,如下所示:

<input type="checkbox" id="checkbox1" />

$('#checkbox1').change(function () {
    if (this.checked) {
        //Do stuff
    }
});

另一方面,我在回调AJAX(在jQuery DataTable中)创建一个复选框作为HTML,并且无法捕获相同元素的click事件:

//...
"ajaxSource": "/Student/GetStudents",
"fnServerData": function (sSource, aoData, fnCallback) {
    aoData.push({ "name": "all", "value": all });
    $.getJSON(sSource, aoData, function (json) {
        fnCallback(json);
        $("div.toolbar").html('<input type="checkbox" id="checkbox1" /> Get all records');
    });
},

获取HTML字符串中复选框值的最合适方法是什么?

1 个答案:

答案 0 :(得分:2)

更改事件侦听器是在当前存在的所有DOM元素上创建的,因此当您添加新复选框时,不会注册更改方法。将您的代码更改为此。

$(document).on('change','#checkbox1',function() {
    //stuff
});