只要单击它,ASP Checkbox就会在Javascript中触发事件

时间:2017-01-14 09:33:05

标签: javascript jquery asp.net checkbox

<asp:CheckBox runat="server" ID="checkbox1" />   

每当我选中或取消选中我的asp复选框时,它需要在javascript中触发一个事件,但似乎没有触发.click函数。 .click事件是错误的吗?

$(document).ready(function () {
    $("#checkbox1").click(function (e) {
        if (this.checked) {
            //do something
        }
        else {

        }
    });
});

2 个答案:

答案 0 :(得分:1)

您可能需要更改

$("#checkbox1").click(function (e) {

$("#<%= checkbox1.ClientID %>").click(function (e) {

asp.net重命名了控件的ID,以确保没有重复项。如果您检查HTML源代码,则可能如下所示:ContentPlaceHolder1_checkbox1。这就是为什么jQuery找不到它。

答案 1 :(得分:0)

我希望它对你有用。 对于动态创建的event delegation,您必须使用attribute equals selector,如果您想按属性选择,则可以使用$(document).on("change", "input[name='member']", function () { alert("CheckBox Changed."); if (this.checked) {alert("CheckBox checked.");} else{alert("CheckBox not checked.");} });

$(document).on("change", "$('#<%=checkbox1.ClientID%>')", function () {
              alert("CheckBox Changed.");
              if (this.checked) {alert("CheckBox checked.");}
              else{alert("CheckBox not checked.");}
          });

OR

reflect-metadata

这是链接,并通过此链接 JS Fiddler