Javascript 将新行数据添加到表中时,为select标记id创建唯一id

Javascript 将新行数据添加到表中时,为select标记id创建唯一id,javascript,php,html,Javascript,Php,Html,我的标题对我的问题非常准确,但我想我可能用我一直在尝试的解决方案找错了方向。一般来说,我对javascript和web开发还不熟悉,所以请原谅我没有说太多的废话 当从下拉菜单中选择零件时,我的程序将创建一个新行数据。这些行使用SQL表格中的数据填充,其中包含有关所选零件的信息,例如:类别、零件名称、价格等。表格中的td元素之一是一个下拉列表,用于更改如下所示的数量 <td> <select data-id = <?php echo $row["part

我的标题对我的问题非常准确,但我想我可能用我一直在尝试的解决方案找错了方向。一般来说,我对javascript和web开发还不熟悉,所以请原谅我没有说太多的废话

当从下拉菜单中选择零件时,我的程序将创建一个新行数据。这些行使用SQL表格中的数据填充,其中包含有关所选零件的信息,例如:类别、零件名称、价格等。表格中的td元素之一是一个下拉列表,用于更改如下所示的数量

    <td>
      <select data-id = <?php echo $row["part_id"];?> id = "qty_dropdown"> 
      <option value = '1'> 1 </option>  
      <option value = '2'> 2 </option> 
      <option value = '3'> 3</option> 
      <option value = '4'> 4 </option> 
      <option value = '5'> 5 </option> 
      <option value = '6'> 6 </option> 
      <option value = '7'> 7 </option> 
      <option value = '8'> 8 </option> 
      <option value = '9'> 9 </option> 
      <option value ='10'> 10</option> 
      </td> </select> 


如果您的选择是在循环中创建的,您可能希望使用名称而不是id。id应该是唯一的。如果使用name属性,则可以在javascript空间中的客户端上使用

var selectLists = document.getElementsByName("qty_dropdown");
var firstSelectList = selectLists[0];

嗯,不确定我是否理解正确,但是下拉列表的
.selected
属性应该为您提供当前选择的选项。我尝试过这个方法,它总是只返回第一个“qty\u dropdown”值。所以,如果我加上两个部分,改变第二部分的数量,什么都不起作用。用户添加到表中的第一部分是可由.selected属性识别的唯一数量。是!令人惊叹的。这正是我想要的。非常感谢。事实上这里似乎有件奇怪的事。如果我添加一个新零件,它会将所有下拉列表上的数量重置为1,而不是保留选定的值。知道为什么吗?如果重新呈现整个表单,则需要记住以前的值,并为所选选项设置所选标志。否则它将默认为第一个条目。我尝试了一些不同的方法,但似乎没有找到一个好的解决方案。你推荐一个好的方法来完成这件事吗?非常感谢。