【发布时间】:2017-01-13 02:02:25
【问题描述】:
我在一页中有多个具有相同输入名称的表单。表单之间的唯一区别是包含它们的表单。
对于我表单上的复选框组,我只想让三个复选框中的两个被选中,但我不希望一个表单中的复选框影响另一个。
我现在有一个 jsFiddle。
我现在已经设置好了,三个复选框中只能选中两个,但这是针对整个文档的,而不是特定于表单的。
我页面中的表单是使用循环创建的,表单的 id 是它们之间的唯一区别。
谁能帮忙解决这个问题?
https://jsfiddle.net/likwidmonster/3zbs61q5/
$('input[type=checkbox][name=group]').on('change', function(e) {
if ($('input[type=checkbox][name=group]:checked').length < 2) {
$('input[type=checkbox][name=group]:not(:checked)').prop('disabled', false);
}
if ($('input[type=checkbox][name=group]:checked').length == 2) {
$('input[type=checkbox][name=group]:not(:checked)').prop('disabled', 'disabled');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<h4>
Form 1
</h4>
<form id="form_1">
<input type="checkbox" name="group" value="1">
<input type="checkbox" name="group" value="2">
<input type="checkbox" name="group" value="3">
</form>
</div>
<div>
<h4>
Form 2
</h4>
<form id="form_2">
<input type="checkbox" name="group" value="1">
<input type="checkbox" name="group" value="2">
<input type="checkbox" name="group" value="3">
</form>
</div>
【问题讨论】:
-
可能是这样的? jsfiddle.net/3zbs61q5/1 我添加了一个
else{}条件以在客户端取消选中其中一个输入时启用它们。
标签: javascript jquery html forms checkbox