我有一个ASP.Net用户控件,其中包含一些复选框,我想在单击其中一个复选框时使用JQuery从用户控件引发事件。以下是我正在尝试引发事件的用户控件中的JQuery代码:
$(document).ready(function() {
$(':checkbox').click(function(){
$('#hfRemainingInstalls').trigger('CheckBoxClicked');
});
});
以下是包含aspx页面的JQuery代码,我正在尝试订阅该事件:
$(document).ready(function() {
$("p").bind('CheckBoxClicked', function(e) {
alert("checkbox clicked");
});
});
当我点击其中一个复选框时,我从未看到警报。有人知道这里可能出现什么问题吗?
答案 0 :(得分:0)
Id标签P和Id hfRemainingInstalls
之间是否存在关系1:解决方案
$(':checkbox').click(function(){
$("p").trigger('CheckBoxClicked');
});
$(document).ready(function() {
$("p").bind('CheckBoxClicked', function(e) {
alert("checkbox clicked");
});
});
2:解决方案
$(':checkbox').click(function(){
$("#hfRemainingInstalls").trigger('CheckBoxClicked');
});
$(document).ready(function() {
$("#hfRemainingInstalls").bind('CheckBoxClicked', function(e) {
alert("checkbox clicked");
});
});
答案 1 :(得分:0)
我确定你有身份证问题。驻留在容器元素(如UserControls和MasterPages)内部的ASP.NET控件在呈现时会在id
属性前面添加一些垃圾以确保唯一性。它通常类似于“ctl01_01_YourID”那就是说,你应该使用jQuery endsWith选择器......
$('input[id$=hfRemainingInstalls]').trigger('CheckBoxClicked');
如果找到该元素,以下内容将提醒“true”
alert($('#hfRemainingInstalls').length > 0);