【发布时间】:2019-03-01 15:12:34
【问题描述】:
我想根据输入元素的类来限制复选框输入。
一级限2
二级限4
我的代码根本无法限制复选框的选择。所以,我想知道在 JavaScript 中使用输入元素类的正确方法,因为我有很多组。以前,我为每个组添加 div 并将类名设置为与输入元素类相同。有用。当我想放入表格时,我无法按 div 拆分表格行。所以,我删除了 div。没有 div,它不起作用。
<table>
<tr>
<td colspan="2">Group A</td>
</tr>
<tr>
<td>HAJI </td>
<td><input class="one" id="2" type="checkbox" /></td>
</tr>
<tr>
<td>SARA</td>
<td><input class="one" id="4" type="checkbox" /></td>
</tr>
<tr>
<td colspan="2">Group B</td>
</tr>
<tr>
<td>LINA</td>
<td><input class="two" id="5" type="checkbox" /></td>
</tr>
<tr>
<td>KUMAR</td>
<td><input class="two" id="7" type="checkbox" /></td>
</tr>
函数.js
var groupA=$(".one input[type='checkbox']");
groupA.click(function()
{
if (groupA.filter(":checked").length > 2)
$(this).removeAttr("checked");
});
var groupB=$(".two input[type='checkbox']");
groupB.click(function()
{
if (groupB.filter(":checked").length > 4)
$(this).removeAttr("checked");
});
提前致谢。
【问题讨论】:
-
您是否有理由不想将
<input type="radio">用于您只想允许一个选择的项目组?不需要 js / jquery。 -
单选按钮允许每组选择一个。一些组需要超过 1 个选择。所以,我更喜欢使用复选框。
-
@benvc 看起来他想处理多个选中的元素(基于
if (groupB.filter(":checked").length > 4))。选择多个可能是一个解决方案:w3schools.com/tags/att_select_multiple.asp(或 Bootstrap jQuery 之一:github.com/davidstutz/bootstrap-multiselect)
标签: javascript jquery html