【发布时间】:2018-09-28 04:39:29
【问题描述】:
我遇到了复选框验证的问题,我一直在尝试使用复选框创建验证。
<script>
$('document').ready(function(){
let x = $('#TestChecks > input[type="checkbox"]').toArray();
$('#TestChecks').change(function() {
$('#TestChecks > input[type="checkbox"]').each((i,v) => {
console.log($('#TestChecks > input[type="checkbox"]:checked').length)
if($(x[0]).is(':checked')){
if(i != 0) {
$(x[i]).attr('checked', false)
$(x[i]).attr('disabled', true)
console.log('checked')
}
} else {
if(i != 0 ) {
$(x[i]).attr('checked', false)
$(x[i]).attr('disabled', false)
$(x[0]).attr('disabled', true)
$(x[1]).attr('checked', true)
console.log('unchecked')
} else if ($('#TestChecks > input[type="checkbox"]:checked').length == 0) {
$(x[0]).attr('disabled', false)
$(x[0]).attr('checked', true)
console.log('alone')
} else {
$(x[0]).attr('disabled', false)
$(x[0]).attr('checked', true)
}
}
});
}).trigger('change');
});
</script>
<div id="TestChecks">
<input type="checkbox" id="test1" value="test1"/>
<input type="checkbox" id="test2" value="test2"/>
<input type="checkbox" id="test3" value="test3"/>
</div>
1 - 当数组中的第一个复选框被选中时,我需要创建一个验证,像这样禁用其余的复选框。 checkboxes first checked
2 - 当第一个复选框未被选中时,我需要启用其余的复选框并像这样选择第二个复选框。 checkbox 1 disabled 2 enabled
3 - 当没有选择任何内容时,我需要检查第一个复选框并禁用其余复选框,就像在第一次验证中一样
欢迎任何帮助,谢谢
【问题讨论】:
-
在您的第二个屏幕截图中,当第二个复选框被选中时,第一个复选框被禁用?
-
是 1 - 当第一个被启用时,其余的应该被禁用 2 - 当第一个点击被取消选中时,它应该禁用第一个复选框并启用第二个 3 - 当没有任何选择时,选中第一个复选框并像第一次验证一样禁用其余的复选框
-
规则 3 很宽泛。你怎么能说没有被选中? 60 秒内什么都没有选择?您需要指定何时检查第一个 cb 并禁用其余的
-
如果选中第二个和第三个复选框会怎样?
-
#3 冲突 #2
标签: jquery validation checkbox checked