gpt4 book ai didi

jquery - 复选框禁用启用

转载 作者:行者123 更新时间:2023-12-01 06:53:07 25 4
gpt4 key购买 nike

我目前有一个 jQuery 函数,如果未选中父复选框,则禁用复选框列表,并在选中父复选框时启用复选框列表。但是,“父”复选框默认为取消选中,这是我想要的。

这会导致代码出现问题,因为它在页面加载时启用,并且只有在选中和取消选中父复选框时才会禁用。

有人知道解决办法吗?

$(document).ready(function() {
$('#cbsys').bind('click', function() {
var doEnable = ($('#cbsys:checked').length > 0);
$('#syscbl').each(function() {
if (doEnable) {
$(this).attr('disabled', null);
$(this).parents('label').removeClass('cssDisabled');
} else {
$(this).attr('disabled', 'disabled');
$(this).parents('label').addClass('cssDisabled');
}
});
});
});

最佳答案

只需将其缓存为函数,并在文档准备好以及单击时运行它。我还对您的代码进行了一些优化:

function disableCk() {
var doEnable = $('#cbsys:checked').length; // <-- use a class
$('#syscbl').each(function() { // <-- use a class
var $this = $(this);
if (doEnable) {
$this.prop('disabled', false)
.parents('label')
.removeClass('cssDisabled');
}
else {
$this.prop('disabled', true)
.parents('label')
.addClass('cssDisabled');
}
});
}

$(document).ready(function() {
disableCk();
$('#cbsys').on('click', disableCk);
});

编辑

刚刚注意到您似乎使用了多个同名的 id,这是无效的 HTML,请确保使用类。我在代码中添加了注释,请看上面。

关于jquery - 复选框禁用启用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11854306/

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