如何引用表单元格中任意给定行的一组复选框
How to reference a set of checkboxes inside a table cell for any given row
我有一个HTML表,每行一个单元格,其中包含五个复选框:
<td class="days">
<label><input type="checkbox" name="mon" id="mon" value="1" class="form-control" />M</label>
<label><input type="checkbox" name="tue" id="tue" value="2" class="form-control" />Tu</label>
<label><input type="checkbox" name="wed" id="wed" value="3" class="form-control" />W</label>
<label><input type="checkbox" name="thu" id="thu" value="4" class="form-control" />Th</label>
<label><input type="checkbox" name="fri" id="fri" value="5" class="form-control" />F</label>
</td>
我需要我的javaScript来检查每个复选框的值,以便与其他复选框进行比较。我尝试了以下方法来获取复选框mon、tue、wed、thu和fri的值,但它们似乎不起作用:
var table = document.getElementById("leaveTable");
var monValue = table.rows[row].cells[5].namedItem("mon").firstChild.value;
(包含复选框的单元格的索引为5)
我有多行,除了行索引之外,所有行都是相同的,这样我就可以将行索引作为参数传递给我的函数,并且无论哪一行,相同的函数都可以工作。
我只使用javaScript,而不是JQuery,所以请只回答javaScript的建议。感谢
您可以在行上使用querySelectorAll()来获取中的所有输入元素
var idx = 0;
var table = document.getElementById("leaveTable");
var inputs = table.rows[idx].querySelectorAll('input[type="checkbox"]'); //'input[type="checkbox"]:checked' if you want only checked
for (var i = 0; i < inputs.length; i++) {
snippet.log(inputs[i].value + ':' + inputs[i].name + ':' + inputs[i].nextSibling.nodeValue)
}
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
<table id="leaveTable">
<tr>
<td class="days">
<label>
<input type="checkbox" name="mon" id="mon" value="1" class="form-control" />M</label>
<label>
<input type="checkbox" name="tue" id="tue" value="2" class="form-control" />Tu</label>
<label>
<input type="checkbox" name="wed" id="wed" value="3" class="form-control" />W</label>
<label>
<input type="checkbox" name="thu" id="thu" value="4" class="form-control" />Th</label>
<label>
<input type="checkbox" name="fri" id="fri" value="5" class="form-control" />F</label>
</td>
</tr>
</table>
相关文章:
- 复选框:一次只允许单击一个复选框
- 复选框一次选中一个不在gridview中工作
- 复选框一次选中一个不起作用
- 将复选框输入组映射到AngularJS数组
- 启用文本框选中复选框数组
- 如何将复选框数组中的数据保存到数据库中
- 将复选框数组传递到 $_GET 的另一种方法 - 除了方括号
- JavaScript 需要从复选框数组中选中一个复选框
- JavaScript 需要从复选框数组中选中一个复选框
- 验证至少一个子复选框,对应于复选框数组的选中元素
- 获取角度 JS 中的复选框数组值
- 从点击按钮事件原型或 jQuery 发布复选框数组
- Angularjs,ng-click,如何在MongoDB中放置复选框数组
- 在复选框循环组中至少选择一个复选框
- 输入复选框数组,如果未选中,jQuery不会发送任何值
- 过帐值形成一个复选框数组
- 计数选中的复选框(数组)数&保存选中的复选框
- JavaScript中的HTML控制数组- 1的复选框数组返回零长度
- 如何访问复选框数组的第一个元素而不使用每个元素
- 我不能从html复选框数组传递一些值到我的php页面