晚上好,我写了一个脚本来获取所点击的任何行的值,但我的问题是任何行包含不同类型的控件,它可能是文本字段<input type="text" id="speed" />
,它可能是一个下拉列表
<select name="engineType">
<option value="1">Manual</option>
<option value="2">Automatic</option>
<option value="3">Both</option>
</select>
在第一种情况下,我将获得innerHtml,在第二种情况下,我将获得值(所选项的值),以便如何在决定获取值或innerHtml之前检查每个单元格的类型,这是脚本:
function findRowNumber() {
var rowIdx;
var rowData = new Array();
var table = document.getElementById('product_table');
var rows = table.getElementsByTagName('tr');
var selectedRow;
for (var i = 0; i < rows.length; i++) {
rows[i].onclick = function() {
rowIdx = this.rowIndex;
selectedRow = rows[rowIdx];
for (var j = 1; j <11; j++) {
var rowCell = selectedRow.cells[j].innerHTML;
rowData.push(rowCellValue);
alert(rowCellValue);
}
}
}
}
答案 0 :(得分:1)
我认为这可能是你正在寻找的,但正如系统所说,也许.innerHTML
不是最好的做事方式。
for (var j = 1; j <11; j++) {
var rowCell = selectedRow.cells[j];
var inputElements;
if((inputElements = rowCell.getElementByTagName("select")).length > 0)
{
// Do stuff for select
}
else if((inputElements = rowCell.getElementByTagName("input")).length > 0)
{
// Do stuff for input
}
rowData.push(rowCellValue);
alert(rowCellValue);
}