gpt4 book ai didi

javascript - 如果不确定,如何防止复选框被标签点击选中?

转载 作者:行者123 更新时间:2023-11-30 14:17:11 25 4
gpt4 key购买 nike

如果复选框不确定,我如何停止与复选框关联的标签的点击事件?

我尝试了以下方法,但无济于事:

el.parent().find('.arena-custom-label').click(function ( event ) {
if (el.is(':indeterminate')) {
event.preventDefault();
el.attr('indeterminate', false);
el.removeClass('indeterminate');
dataGrid.find('.ag.gr:checked').trigger('click');
} else {
el.change(function () {
if (el.is(':checked')) {
dataGrid.find('tbody .ag.gr:not(:checked)').trigger('click');
} else {
dataGrid.find('tbody .ag.gr:checked').trigger('click');
}
});
}
});

el 是复选框本身。

目标是虽然此复选框是不确定的,但在关联的标签上单击时,我希望它做的就是退出不确定并取消选中。然后我将触发表中所有选中的复选框也取消选中。

问题是,当我单击不确定的复选框标签时,它会导致它被选中,从而导致所有未选中的复选框都被选中。与我想要的相反。

最佳答案

indeterminate 是一个 prop,而不是一个 attribute,所以你应该使用 jquery.prop 来更新:

el.parent().find('.arena-custom-label').click(function ( event ) {
if (el.is(':indeterminate')) {
event.preventDefault();
el.prop('indeterminate', false);
el.removeClass('indeterminate');
dataGrid.find('.ag.gr:checked').trigger('click');
} else {
el.change(function () {
if (el.is(':checked')) {
dataGrid.find('tbody .ag.gr:not(:checked)').trigger('click');
} else {
dataGrid.find('tbody .ag.gr:checked').trigger('click');
}
});
}
});

参见 herehere用于解释。

Here is a fiddle带有 Vanilla JS 演示。

关于javascript - 如果不确定,如何防止复选框被标签点击选中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53396711/

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