如何访问已被Javascript中的复选框选中的表的一行中的单元格值
How to access values of cells within a row of a table which has been checked by a checkbox in Javascript?
我想知道是否有人可以帮助我得到这个工作。
我正在使用HTML创建一个表,它至少有1行,但没有最大行数-因为它们可以由用户添加/删除-和4列,第一个包含一个复选框,最后2包含下拉菜单。
我希望能够在数组中存储这些菜单的值,只有当该行的复选框已被选中。例如,如果第一行有1和A作为它的下拉值,第二行有2和b。如果只检查了第一行,那么数组应该只包含[1,A]。相反,mine保存所有值,包括未检查的值,即[1,A,2,B]。
我的Javascript函数和html表代码如下:
function calculate(textID) {
var table = document.getElementById('course'); //id of table
var rowCount = table.rows.length;
var array = []; //array to hold the values
var c = 0;
dmenus = document.getElementByTagName("select"); //get the drop down menus
for (var a = 1; a < rowCount; i++) { //a = 1 as the 1st row contains column headings
var row = table.rows[a];
var check = row.cells[0].childNodes[0];
if (null != check && true == check.checked) {
for (var b = 0; b < dmenus.length; b++) {
val = dmenus[b].options[dmenus[b].selectedIndex].value;
array[c] = val; //set index of array to equal value of dropdown box
c++;
}
} else {
b++;
}
}
<table id="course">
<tr>
<td><input type="checkbox" name="ucheck" id="ucheck" onclick="checkAll('course')" /></td>
<th style="color:white">Course Title</th>
<th style="color:white">Credits</th>
<th style="color:white">Grade</th>
</tr>
<tr>
<td><input type="checkbox" name="tick" id="tick" /></td>
<td><input type="text" /></td>
<td>
<select name="credits" id="credits">
<option...</select></td>
<td>
<select name="grade" id="grade">
<option...</td>
</table>
它只适用于第一行,但如果有多于一行,它就不做它应该做的事情。我正在使用的编码平台似乎不支持JQuery,所以Javascript代码将是最受欢迎的。
终于让它工作了,重新排列了一下代码。可能有一种更有效的方法,但是嘿,它对我有用:D
var array = [];
var narray = [];
var a = 0;
var b = 0;
var c = 0;
ddownselects = document.getElementsByTagName("select");
//get all elements into one array
for (var j = 0; j < ddownselects.length; j++) {
val = ddownselects[j].options[els[j].selectedIndex].value;
array[a] = val;
a++;
}
var rlen = array.length / 2; //number of rows
for (var i = 1; i <= rlen; i++) {
var row = table.rows[i];
var check = row.cells[0].childNodes[0];
if (check.checked) {
narray[b] = array[c]; //set array values to new array only if that row is checked
b++;
c++;
narray[b] = array[c];
b++;
c++;
} else {
c += 2; //if not checked, got to next row's values
}
<table id="course">
<tr>
<td><input type="checkbox" name="ucheck" id="ucheck" onclick="checkAll('course')" /></td>
<th style="color:white">Course Title</th>
<th style="color:white">Credits</th>
<th style="color:white">Grade</th>
</tr>
<tr>
<td><input type="checkbox" name="tick" id="tick" /></td>
<td><input type="text" /></td>
<td>
<select name="credits" id="credits">
<option...</select></td>
<td>
<select name="grade" id="grade">
<option...</td>
相关文章:
- 使用下拉选择菜单高亮显示一行表格单元格
- 选择并高亮显示一行中的单元格
- 如何根据单元格中的值将一行从一个谷歌电子表格移动到另一个
- 如何循环访问其第三个单元格具有 rowspan 属性的每一行
- 如何获取 jqgrid 中一行的格式化单元格值的值
- 在 jqxGrid 中按一个单元格的值选择一行
- 如何向 Javascript 表添加一行,其中包含包含 jQuery 中的日期选择器函数的单元格
- jqxTreeGrid如果我单击一行中的特定单元格,则禁用对该行的选择/取消选择
- 试图创建一个可重复使用的函数来生成一行中的单元格.(棋盘)
- Dgrid-如何将单元格合并到一行中
- javascript如何每隔四个单元格添加一行
- jqGrid-拖动一行进行排序会打乱单元格宽度
- 使用下拉选择菜单高亮显示一行表格单元格(不同情况)
- 如何选择一行's单元格,并通过JavaScript获取它们的值
- 如何访问已被Javascript中的复选框选中的表的一行中的单元格值
- Jquery, ajax:单击按钮并获取其旁边的单元格在同一行中的值
- Ajax从行中删除单元格,重新计算行,将单元格移动到下一行
- 用jQuery循环遍历表格-计算每一行的单元格
- 如何编写一个谷歌表脚本函数,识别值取决于在同一行的单元格
- 将一行单元格拆分为多行