Jquery 取消选中所有复选框,然后选中一些复选框

Jquery 取消选中所有复选框,然后选中一些复选框,jquery,Jquery,是否有一种方法可以在加载页面时取消选中页面上的所有复选框,同时如果其中一些复选框被选中,则将其保存在变量中并使其处于选中状态。我试过这个 $('input[id^="chkbx_"]').prop("checked", false); var a; if ($("#chkbx_program_a").prop("checked")){ a= "true"; }else{ a= "false"; } $('#chkbx_program_b').prop('checked', a);

是否有一种方法可以在加载页面时取消选中页面上的所有复选框,同时如果其中一些复选框被选中,则将其保存在变量中并使其处于选中状态。我试过这个

$('input[id^="chkbx_"]').prop("checked", false);

var a;
if ($("#chkbx_program_a").prop("checked")){
a= "true";
}else{
a= "false";
}

     $('#chkbx_program_b').prop('checked', a);
}
});

但是所有的复选框都被取消选中。

它不起作用的原因是程序逻辑顺序错误。首先取消选中所有复选框,然后检查其中一个复选框是否已选中——当然不是,因为您只是取消选中了它。您可以将保存其状态的零件移动到开头,这样它就可以工作了,甚至更好:

$('input[id^="chkbx_"]').not("#chkbx_program_a").prop("checked", false);

这将取消选中除一个复选框之外的所有复选框。

我不明白为什么在选中“chkbx”程序时,您是否要选中“chkbx”程序。如果你想这样做,那么你可以这样做

$e=$(“#chkbx_程序_b”).prop(“选中”),$((“chkbx_程序_a”).prop(“选中”);

$('input[id^=“chkbx_”]”)。而不是($e).prop(“选中”,false)

但这不是我想要的。我首先希望所有复选框都未选中,然后在下一步中,如果用户选中了某些复选框,我希望保存该复选框,并且当页面再次加载时,我希望该复选框仍处于选中状态。这仍然会使所有复选框都未选中。我想先把所有的都取消选中,然后如果有一些被选中,例如program_b,我想在页面再次加载时检查它。我想你可能会感到困惑。首先,如果你重新加载页面,所有这些都将被取消选中,所以你只需要让它们被选中。使用JS无法做到这一点,因为javascript或jquery也会在页面刷新时刷新,因此所有变量都将被销毁。您应该将其保存在服务器端或cookies中。我怀疑是这样,但值得一试。也许我会尝试在服务器端保存它们。