0

晚上好,我写了一个脚本来获取任何被点击的行的值,但我的问题是任何行都包含不同类型的控件,它可能是一个文本字段<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);

            }

        }

    }
}
4

1 回答 1

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);
}
于 2013-03-06T17:39:40.110 回答