jQuery - 检查复选框,并禁用其他如果有不同的值
问题描述:
我想禁用其他checkbox
如果选中的checkbox
与其他值不同。我见过一个问题,但答案与此相反。任何答案,非常感谢。jQuery - 检查复选框,并禁用其他如果有不同的值
<input type='checkbox' name='check[]' value='Active'> //first checkbox
<input type='checkbox' name='check[]' value='Inactive'>
<input type='checkbox' name='check[]' value='Inactive'>
<input type='checkbox' name='check[]' value='Active'>
让的说first checkbox
与的Active
值检查。其他值为Inactive
的复选框应禁用on change
。
下面是我从开发者的一个发现这里
小提琴的例子:https://jsfiddle.net/Lenauevf/1/
When Checkbox checked make other same value checkboxes disabled
答
$("input[name='check[]']").on('click', function() {
var val = $(this).val();
var parent = $(this);
$("input[value !='"+val+"']").each(function() {
$(this).not(parent).attr('disabled', parent.is(':checked'));
});
})
+0
不错的工作,如果我使用'数据属性',我该如何做到这一点?而不是'价值'谢谢! – Dre
+0
您可以使用$ .data(attr)获取每个输入标签的属性值,与您的属性“名称”相同的方式做同样的工作 –
答
- 获取有关更改事件的变化选择框的当前值。
- 取消选中所有复选框。
- 使用电流值来检查所有复选框以相同的值
$(":checkbox").change(function() {
let val = $(this).val();
console.log(val)
$(":checkbox").prop("checked", false)
$(":checkbox[value=" + val + "]").prop("checked", true)
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='checkbox' name='check[]' value='Active'>
<input type='checkbox' name='check[]' value='Inactive'>
<input type='checkbox' name='check[]' value='Inactive'>
<input type='checkbox' name='check[]' value='Active'>
添加所有相关的代码,以OP不是一个外部链接 – guradio
所以,你想用'Inactive'禁用复选框仅当第一个复选框被点击时才有值? –