jquery - <asp :Checkbox>'s jQuery click() event not firing

标签 jquery asp.net onclick

我有一个 ASP.NET 渲染的复选框。单击时,我希望 jQuery 捕获该事件,但由于某种原因它不起作用。

这就是我到目前为止正在做的事情:

ASP.NET

<table>
 <tr>
  <td>
   <asp:CheckBox runat="server" ClientIDMode="Static" 
                 id="testcb" name="testcb" />
  </td>
 </tr>
</table>

jQuery

$("#testcb").click(function () {
    if ($(this).is(':checked')) alert("checked");
});

这是浏览器的源代码:

<tr>
 <td>
  <span name="testcb">
   <input id="testcb" type="checkbox" 
          name="ctl00$ctl00$bodyContent$phMainContent$testcb">
  </span>
 </td>
</tr>

最佳答案

我认为问题可能是您的 jQuery 脚本在渲染相关元素之前被触发。

尝试以下操作:

<script type="text/javascript">
  $(document).on('ready', function () {
      $("#testcb").on('click', function () {
          var $cb = $(this);
          if ($cb.is(':checked')) {
              alert("checked");
          }
      });
  });
</script>

如果没有 $(document).on('ready' ... 部分,则无法保证文档在 .click()< 之前在浏览器中完全呈现 被绑定(bind)。此外,.on() 即使在调用之前不存在的元素上也应该起作用(类似于旧的 .live()以前版本的 jQuery 中的函数)。

请参阅this jsFiddle举个例子。

关于jquery - <asp :Checkbox>'s jQuery click() event not firing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13633457/

相关文章:

javascript - 淡入后可见性隐藏闪烁多次

javascript - 如何让每个元素在点击时改变颜色?

javascript - 元素不会显示 js 切换功能

javascript - 禁用导航链接上的焦点行为?

asp.net - 将消息从 SSIS (2012) 包推送到 ASP.NET Web 应用程序中的 SignalR 中心 - 最好的方法是什么?

c# - 在 ASP.Net 中发送电子邮件的最低限度

javascript - 如何在点击时清除数据列表输入?

javascript 在鼠标单击时获取 x 和 y 坐标

asp.net - 如何使用 jQuery 调用 ASP.NET web 服务?

css - Asp.net 默认样式表编辑/删除?