使用JQuery单击检测复选框?

时间:2010-03-10 23:15:23

标签: javascript jquery html checkbox

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

$(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>

编辑:上面的代码工作正常。发生在我身上的是,标签<input type="checkbox">是由其他一些脚本生成的,所以当document.ready()启动时,它无法将click事件注册到复选框,因为这些复选框还没有真正存在。所以要修复它:将.click()更改为.live('click', function(){...})

4 个答案:

答案 0 :(得分:4)

你的选择器错了..

以下是最佳格式

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

答案 1 :(得分:1)

在IE,FF和Chrome中,它适用于我。

答案 2 :(得分:1)

使用$ .fn.live ...

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

答案 3 :(得分:0)

尝试删除':复选框',使其如下所示:

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

更好吗?