javascript - 如何使用javascript根据输入元素类限制多组复选框选择
问题描述
我想根据输入元素的类来限制复选框输入。
一级限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");
});
提前致谢。
解决方案
我想我明白你的意思,试试下面的 JS。
var groupA = $("input.one[type='checkbox']");
var groupB = $("input.two[type='checkbox']");
groupA.click(function(e) {
if (groupA.filter(":checked").length > 2) {
e.preventDefault();
}
});
groupB.click(function(e) {
if (groupB.filter(":checked").length > 4) {
e.preventDefault();
}
});
我已经阻止人们通过阻止默认操作来打勾。您还错误地选择了输入。您在“one”类中寻找“输入类型复选框”。
推荐阅读
- python - 如何在我的 Jupyter Notebook 中将 py 文件作为模块导入?
- php - str_replace 仅替换 php 数组中的第一个变量
- tensorflow - 图像分类中“创建特征向量然后训练”与“直接训练”有什么区别
- kotlin - 从 jOOQ 记录侦听器中创建新记录
- c# - Google Calendar API 为不同的请求返回 404(未找到)
- spring-boot - 从带有子文件夹的 spring cloud config repo 中获取属性
- javascript - 如何正确使用 fetch .then/.catch 或 async await - Currency Exchanger 示例
- .net - 更新 Nuget 后找不到程序集“Microsoft.Owin...”(以及更多)
- sql - 动态sql无效的关系运算符
- excel - 使用 VBA Excel 发送电子邮件 - 添加 html 文本并在电子邮件中引用文本