【问题标题】:going crazy. Simple alert when checkbox is checked with jquery快要疯了。使用 jquery 检查复选框时的简单警报
【发布时间】:2025-12-09 03:05:01
【问题描述】:

单击/选中复选框时,我无法获得触发的简单警报。我一直在摸不着头脑,想知道为什么我不能让它工作,而且我知道这将是一件简单的事情......那么,我做错了什么?

<script type="text/javascript">
$('#test1').click(function(){
alert('clicked');
});
</script>

<input type="checkbox" id="test1" value="test1" name="test1" value="-1">test1</input>

【问题讨论】:

  • 这是你的代码顺序吗?尝试在复选框之后声明click处理程序。

标签: jquery checkbox alert checked click


【解决方案1】:

你不是在等待DOM ready。如果你愿意,它会起作用的:

<script type="text/javascript">
$(function(){
    $('#test1').click(function(){
        alert('clicked');
    });
});
</script>

<input type="checkbox" id="test1" value="test1" name="test1" value="1" /> test1

小提琴:http://jsfiddle.net/sanbc/

【讨论】:

  • 把它换掉,没用,然后找到一个冲突的库,删除它,它工作正常。不过感谢您的提示,我会确保在以后的所有尝试中都包含该提示。
【解决方案2】:

您需要将其包装在 document.ready() 中,否则可能会在元素存在之前分配 click 事件。

确保包含 jQuery 库。

确保没有包含其他 javascript 库,它们可能会弄乱 $ 对象。如果是,请将 $ 替换为 jQuery。

试试这些,然后回复我评论

【讨论】:

    【解决方案3】:

    这对我有用。

    示例:http://jsfiddle.net/jasongennaro/9dSMM/

    也许 DOM 没有准备好有问题?

    记得把它包装在document.ready中。

    $(document).ready(function() {
       // put all your jQuery goodness in here.
     });
    

    More here

    【讨论】:

      【解决方案4】:

      将您的代码放入$(document).ready 事件中,以便在您尝试向其注册事件处理程序时确保复选框存在。

      【讨论】:

        【解决方案5】:

        只是为了检查一下,我从来没有写过没有这个包装器的任何 Jquery UI 代码:

         $(document).ready(function() {
               //......
             });
        

        【讨论】:

          最近更新 更多