Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在表格单元格中访问下拉列表的值_Javascript_Html - Fatal编程技术网

Javascript 如何在表格单元格中访问下拉列表的值

Javascript 如何在表格单元格中访问下拉列表的值,javascript,html,Javascript,Html,我有一个HTML表格,单元格中有一些下拉列表。我想访问我的下拉列表的选项,就像我在下面尝试的那样。我该怎么做?我的JavaScript似乎不起作用 <table id = "xy"> <tr> <td> <select> <option>--Please Select--</option> <option>value 1</opti

我有一个HTML表格,单元格中有一些下拉列表。我想访问我的下拉列表的选项,就像我在下面尝试的那样。我该怎么做?我的JavaScript似乎不起作用

<table id = "xy">
    <tr>
      <td>
        <select>
          <option>--Please Select--</option>
          <option>value 1</option>
          <option>value 2</option>
          <option>value 3</option>
       </select>
      </td>
    </tr>
    <tr>
     <td>
       <select>
          <option>--Please Select--</option>
          <option>value 1</option>
          <option>value 2</option>
          <option>value 3</option>
      </select>
     </td>
    </tr>
    </table>

    <script type="text/javascript">
        ...
        var table = document.getElementById("xy");

        for (var i = 0, row; row = table.rows[i]; i++) {
             alert(row.cells[0].innerHTML.options[0].value);
             alert(row.cells[1].innerHTML.options[0].value);
        }
        ...
    </script>
获取表中的所有tr元素:

var selects = document.querySelectorAll('#xy tr');
然后读取每行中每个select的值:

    var rows = document.querySelectorAll('#xy tr');
    for (var i = 0; i < rows.length; i++) { //iterate over rows
        var selects = rows[i].querySelectorAll('select');
        for (var j = 0; j < selects.length; j++) { //iterate over selects in a row
            console.log('Row number: ' + i);
            console.log(selects[j].value);
        }
    }
例如:

函数读取值{ var rows=document.queryselectoral'xy tr'; 对于变量i=0;iRead valuesinnerHTML返回序列化的HTML代码,换句话说,是字符串而不是HTML节点。您可以这样访问它:行。单元格[0]。子项[0]。选项[0]。值,但我不建议选择这样的元素。取而代之的是使用或工作,是否可以将选项作为数组获取?类似于这样的内容:var myArray=row.cells[0]。子项[0]。选项,而不是仅访问单个值?所以您想要所选元素值的数组?如果用户将默认选择保留为-请选择-,则情况如何?在页面加载时,在更改每个值后,在提交时按下或后,在响应用户交互时,您希望何时检索这些值?@Justin您可以通过array.fromrow.cells[0].children[0]将HTMLCollection转换为数组。选项。但是如果你只想迭代它们,你也可以使用一个简单的“我不想要所有的选择元素”。我想在我正在交互的当前行中选择所有选项。与row.cells[0]类似。查询选择器all'select'。。。但这是行不通的