繁体   English   中英

ASP.Net用户控件中的JQuery自定义事件

[英]JQuery custom event in ASP.Net User Control

我有一个包含一些复选框的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");       
             });
          });

当我单击复选框之一时,我再也看不到警报。 有人知道这可能是什么问题吗?

那么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");       
  });
});

我确定您有ID问题。 呈现在诸如UserControls和MasterPages之类的容器元素内部的ASP.NET控件在呈现时会在id属性前添加一些垃圾,以确保唯一性。 通常是类似“ ctl01_01_YourID”这样的内容,也就是说,您可能应该使用jQuery startsWith选择器...

$('input[id$=hfRemainingInstalls]').trigger('CheckBoxClicked');

如果找到该元素,以下内容将发出“ true”警报...

alert($('#hfRemainingInstalls').length > 0);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM