javascript下拉列表更改表中的所有下拉列表

javascript下拉列表更改表中的所有下拉列表,javascript,drop-down-menu,Javascript,Drop Down Menu,我有一个根据主下拉列表更改故事中所有行中所有下拉列表值的要求。假设有人在dropdown1中选择了“value 2”,那么表中所有行的dropdown2值都应该显示“value2” 是我用来更改它的java脚本,但它只更改第一行 请帮助..从您的示例代码看,似乎您为所有locdropdown2元素提供了相同的ID?也许你应该发布一个表格HTML的例子。通常情况下,为元素提供唯一的ID,因此您可能希望测试NAME属性,但无论如何,类似于以下内容的内容应该可以工作: function change(

我有一个根据主下拉列表更改故事中所有行中所有下拉列表值的要求。假设有人在dropdown1中选择了“value 2”,那么表中所有行的dropdown2值都应该显示“value2”

是我用来更改它的java脚本,但它只更改第一行


请帮助..

从您的示例代码看,似乎您为所有locdropdown2元素提供了相同的ID?也许你应该发布一个表格HTML的例子。通常情况下,为元素提供唯一的ID,因此您可能希望测试NAME属性,但无论如何,类似于以下内容的内容应该可以工作:

function change() {
   var cid = document.frm.locdropdown.selectedIndex;
   var inputs = document.getElementsByTagName("input");
   for (var i=0, l = inputs.length; i < l; i++) {
      if (inputs[i].id == "locdropdown2")
         inputs[i].selectedIndex = cid;
   }
}
函数更改(){
var cid=document.frm.locdropdown.selectedIndex;
var inputs=document.getElementsByTagName(“输入”);
对于(变量i=0,l=inputs.length;i
另一个选项是循环表中的每一行。以下示例假定第三列中只有locdropdown2输入,但您可以根据实际布局进行调整:

function change() {
   var cid = document.frm.locdropdown.selectedIndex;

   var tableRows = document.getElementById("yourTableId").tBodies[0].rows;
   for (var i=0, l=tableRows.length; i < l; i++) {
      tableRows[i].cells[2].firstChild.selectedIndex = cid;
   }
}
函数更改(){
var cid=document.frm.locdropdown.selectedIndex;
var tableRows=document.getElementById(“yourTableId”).tBodies[0]。行;
for(var i=0,l=tableRows.length;i

注意:我还没有实际测试过任何代码,但它应该足以让您开始,您可以根据需要进行调整。(你可以使用谷歌来了解tBodies、rows、cells、firstChild等)


主位置一二三row1 row2一二三我添加了两个不同的注释,但它的单一jspI使其“function change(){var cid=document.frm.locdropdown.selectedIndex;alert(cid)alert(cid)alert”起作用(document.getElementById('table2'))var tableRows=document.getElementById('table2').rows;alert(tableRows.length)for(i=0;iGlad)让它正常工作。在上一条注释的代码中,tableRows上的循环是多余的,因为在循环中,您随后创建了另一个循环,该循环将遍历文档中的所有选定元素。(假设我读对了:如果没有格式/换行符,就有点混乱。)
function change() {
   var cid = document.frm.locdropdown.selectedIndex;

   var tableRows = document.getElementById("yourTableId").tBodies[0].rows;
   for (var i=0, l=tableRows.length; i < l; i++) {
      tableRows[i].cells[2].firstChild.selectedIndex = cid;
   }
}