Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改复选框状态时的JQuery事件_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 更改复选框状态时的JQuery事件

Javascript 更改复选框状态时的JQuery事件,javascript,jquery,ajax,Javascript,Jquery,Ajax,这是我的问题,我想用JQuery检查所有选中的复选框来生成一个数组。每次选中或取消选中复选框时,我都执行此操作。所以我用这个代码来做我想做的事情: $(document).ready(function(){ $(":checkbox").change(function() { CBChange(); }); }); function CBChange() { $(":checkbox:checked").each(function() {

这是我的问题,我想用JQuery检查所有选中的复选框来生成一个数组。每次选中或取消选中复选框时,我都执行此操作。所以我用这个代码来做我想做的事情:

$(document).ready(function(){
    $(":checkbox").change(function() {
        CBChange();
    });
});

function CBChange()
{
    $(":checkbox:checked").each(function() {
        alert("checked");
    });
}
问题是“我认为”这是在已单击的复选框更改其状态之前执行的。因此,例如,如果我选中了四个复选框all,而我未选中一个复选框,则警报消息将弹出四次,就像脚本在将复选框设置为unchecked之前执行一样

我只是需要一个方法来实现它。如果我们采用与上面相同的示例,我想要的结果是,对于剩余的复选框let checked,消息只弹出3次

提前感谢,,

您有错误的选择器,请尝试

    $(document).ready(function(){
    $("checkbox").change(function() {
        CBChange();
    });
});

function CBChange()
{
    $("checkbox:checked").each(function() {
        alert("checked");
    });
}

创建包含所有选中项的数组的步骤

$(document).ready(function(){
    $(":checkbox").change(function(e) {
        var items=$(":checkbox:checked");
        console.log(items);
    });
});
这是一把小提琴

问题是“我认为”这是在已单击的复选框更改其状态之前执行的。例如,如果我选中了四个复选框all,而我没有选中一个复选框,则警报消息将弹出四次

“我想”是什么意思?你试的时候发生了什么?更改事件应该在状态更新后触发,实际上,它对我来说一直都是这样。因此,在您的示例中,如果选中所有四个,而取消选中一个,则警报应显示三次

下面是一个可以很好地处理代码的工具:

或者,下面是另一个演示,显示了相同的效果,但没有警告消息的干扰:


或者如果您说
警报(选中此项)在您的更改处理程序中,您将看到刚刚更改的特定复选框的当前状态…

不起作用,我认为问题不在于选择器。警报消息按预期弹出,但好像没有考虑到我刚才所做的更改。
:checkbox
是选择所有复选框元素的有效选择器<但是,“代码>复选框”无效,因为没有标记名为“代码>复选框”的元素。复选框是输入元素。很抱歉,这篇文章不太适合这个论坛,也没有看到评论就在帖子的正下方。是的,凯文B同意,从臀部射击,完全从脚趾射击。你在使用哪个浏览器?Ajax如何与您的问题联系在一起?