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

时间:2011-05-26 23:02:59

标签: javascript drop-down-menu

我需要根据主下拉列表更改故事中所有行的所有下拉值。假设有人在dropdown1中选择“value 2”,表格中所有行的dropdown2值应显示“value2”。

    function change(){

var cid = document.frm.locdropdown.selectedIndex;

document.frm.locdropdown2.selectedIndex = cid;


}

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

请帮助..

1 个答案:

答案 0 :(得分:0)

从您的示例代码看,您已经为所有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;
   }
}

另一种选择是循环遍历表中的每一行。以下示例假设您的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;
   }
}

注意:我实际上没有测试任何代码,但它应该足以让你开始,你可以根据需要进行调整。 (您可以使用Google了解tBodies,行,单元格,firstChild等)。