gpt4 book ai didi

javascript - 带有所有按钮的 Jquery 按钮插件来切换复选框

转载 作者:搜寻专家 更新时间:2023-10-31 08:30:49 24 4
gpt4 key购买 nike

我正在使用 jquery 按钮,需要切换关联的复选框,但我的代码使浏览器挂起。我需要1)点击全部选择全部2)点击全选(全部选中)取消选中所有复选框3) 如果所有选中的点击任何子复选框应该取消选择(所有复选框)并且被点击作为复选框的应该保留。

这是 fiddle .

我面临的问题是,当我执行此过程时,复选框挂起,使浏览器甚至挂起。例如:在 fiddle 中单击全部,然后单击两者之间的任何复选框。所以在此之后我再次点击检查所有,它挂断了

非常感谢任何帮助。

    <script>
jQuery(document).ready(function(){
// If checkd all and we click on any sub options make ALL option UNCHECKED

jQuery( ".format" ).buttonset();
//check ALl checkbox onClick
$("body").on("click", ".chktaxoall,.chkcmfall", function (e, source) {
var all = $(this).is(":checked");
var set = $(this).data("set");

if (source != "code") {
$("input[type=checkbox][data-set='" + set + "']:not(this)").each(function () {
if ($(this).is(":checked") != all)
$(this).trigger("click", "code");
});
}
});

$("body").on("click", ".wrap_acf input:checkbox", function (e, source) {
var set = $(this).data("set");
var allChecked = $(".chkcmfall[data-set='" + set + "']").is(":checked");

if (source != "code" && allChecked) {
$(".wrap_acf input[type=checkbox][data-set='" + set + "']:not(this)").trigger("click", "code");
$(".chkcmfall[data-set='" + set + "']").trigger("click", "code");
}
else if (source != "code")
{
if ($(".wrap_acf input[type=checkbox][data-set='" + set + "']:checked").length == $(".wrap_acf input[type=checkbox][data-set='" + set + "']").length)
$(".chkcmfall[data-set='" + set + "']").trigger("click", "code");
}
})
})

</script>

最佳答案

根据您对其他人的回应,我认为这或多或少是您想要的。 http://jsfiddle.net/drmyersii/27xkkxbw/2/

主要变化在这里:

$("body").on("click", ".css-checkbox:not(.chkcmfall)", function (e, source) {
var set = $(this).data("set");
var all = $(".chkcmfall[data-set='" + set + "']").is(":checked");
var currentChecked = $(this).is(":checked");

if(!currentChecked && all)
{
$('.css-checkbox[data-set="' + set + '"]').prop('checked', false);
$(this).prop('checked', true);
jQuery( ".format" ).buttonset();
}
});

如果这是你想要的,我也可以为你清理 fiddle 。

关于javascript - 带有所有按钮的 Jquery 按钮插件来切换复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25621775/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com