<asp:CheckBox runat="server" ID="checkbox1" />
每当我选中或取消选中我的asp复选框时,它需要在javascript中触发一个事件,但似乎没有触发.click函数。 .click事件是错误的吗?
$(document).ready(function () {
$("#checkbox1").click(function (e) {
if (this.checked) {
//do something
}
else {
}
});
});
答案 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