【发布时间】:2013-07-02 16:01:35
【问题描述】:
我对 JavaScript 非常陌生。我正在尝试使用另一个列表框(称为聚合器)的选定值(称为产品)来控制一个列表框(称为聚合器)中的选项。以下是我到目前为止编写的代码。
现在,当我加载 HTML 页面时,我编写的用于控制文本框的代码(使用 txt、txt2、txt3)现在也不起作用。
Javascript
function pGo() {
var x = document.getElementById("Product").value;
var txt = "";
var txt2 = "";
var txt3 = "";
var list = document.getElementById("Aggregator");
var aggrs = new Array();
aggrs[0] = "h";
aggrs[1] = "e";
aggrs[2] = "l";
aggrs[3] = "l";
aggrs[4] = "l";
aggrs[5] = "o";
aggrs[6] = "o";
var length = aggrs.length;
var element = null;
if (x == "HII") {
txt = "Full ";
txt2 = "/";
txt3 = "/";
for (var i = 0; i < 5; i++)){
element = aggrs[i]
var opt = document.createElement("option");
opt.innerText = element;
opt.setAttribute(element, 'newvalue');
list.appendChild(opt);
}
}
else if (x == "DLG"){
txt = "Full";
txt2 = "/T";
txt3 = "/responses/";
for (var i = 0; i < 1; i++)){
element = aggrs[i]
var opt = document.createElement("option");
opt.innerText = element;
opt.setAttribute(element, 'newvalue');
list.appendChild(opt);
}
}
else if (x == "TBB"){
txt = "Full ";
txt2 = "/Trams";
txt3 = "/respo";
for (var i = 0; i < 1; i++)){
element = aggrs[i]
var opt = document.createElement("option");
opt.innerText = element;
opt.setAttribute(element, 'newvalue');
list.appendChild(opt);
}
element = aggrs[6]
var opt = document.createElement("option");
opt.innerText = element;
opt.setAttribute(element, 'newvalue');
list.appendChild(opt);
}
form.elements.calcType.value = txt;
form.elements.transform.value = txt2;
form.elements.calcResponse.value = txt3;
}
HTML
product
<select id="Product" onchange = "pGo()">
<option>HII</option>
<option>DLG</option>
<option>TBB</option>
</select><div>
<script type = "text/javascript">
aggregator
<select name = "Aggregator">
</select><br/><br/>
发出的其他文本框
我需要聚合器根据产品选择中选择的值显示聚合列表中的某些值:
HII : [0,1,2,3,4,5]
DLG:[0,1]
待定:[0,1,6]
【问题讨论】:
-
您可能想查看codereview.stackexchange.com 以获得有关编写更高质量 JS 的一般帮助。
-
jQuery 会让做这种事情变得无比容易。
-
谢谢,今晚将研究 jQuery 解决方案
标签: javascript html select drop-down-menu