【问题标题】:Detect checkbox has been click with JQuery?检测复选框是否已用 JQuery 单击?
【发布时间】:2010-03-10 23:15:22
【问题描述】:

我的代码有什么问题。当我点击复选框时,什么也没有发生

$(document).ready(function(){
     $('input:checkbox[name=drawingNo]').click(function(){alert('I am here');});            
});  
...
<body>
    <form>
        <input type="checkbox" name="drawingNo" value="1"> 1 <br>
        <input type="checkbox" name="drawingNo" value="2"> 2 <br>
        <input type="checkbox" name="drawingNo" value="3"> 3 <br>
        <input type="checkbox" name="drawingNo" value="4"> 4 <br>
    </form>
</body>

编辑:上面的代码运行良好。发生在我身上的是,标签&lt;input type="checkbox"&gt; 是由其他一些脚本生成的,所以当 document.ready() 启动时,它不能将点击事件注册到复选框,因为这些复选框还没有真正存在。所以要修复它:将.click()更改为.live('click', function(){...})

【问题讨论】:

    标签: javascript jquery html checkbox


    【解决方案1】:

    您的选择器错误..

    以下是最好的格式

    $(document).ready(function(){
     $("input[name='drawingNo']").live('click', function(){
     alert('I am here');
     });            
    });
    

    【讨论】:

    • 检查选择器的格式“$("input[name='drawingNo']")”并添加了实时事件
    【解决方案2】:

    它在 IE、FF 和 Chrome 中运行良好。

    【讨论】:

      【解决方案3】:

      使用 $.fn.live ...

      $('input:checkbox[name=drawingNo]').live('click',function(){
         alert('I am here');
      });

      【讨论】:

        【解决方案4】:

        尝试删除 ':checkbox' 使其看起来像:

        $('input[name=drawingNo]').click(function(){alert('我在这里');});

        好些了吗?

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-09-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-04-03
          • 1970-01-01
          • 1970-01-01
          • 2012-11-02
          相关资源
          最近更新 更多