我需要根据主下拉列表更改故事中所有行的所有下拉值。假设有人在dropdown1中选择“value 2”,表格中所有行的dropdown2值应显示“value2”。
function change(){
var cid = document.frm.locdropdown.selectedIndex;
document.frm.locdropdown2.selectedIndex = cid;
}
是我用来更改它的java脚本,但这只会改变第一行。
请帮助..
答案 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等)。