我是网络开发的新手,我试图从互联网上寻找任何资源,但我仍然无法弄清楚我的问题......
=>读取文本文件并生成选项... 我的test.jsp页面
<tr>
<td>Select test : </td>
<td><select id="testname" name="testname" onchange="makeBox()">
while ((src = test.readLine()) != null){
param = "";
temp =src.split(":");
tempsize =temp.length;
if ((tempsize >2)){
int i;
for (i=2; tempsize>i ; i++){
if((temp[i].equals("null"))){
param = "";
}
else if ((i ==2) && (temp[i] != "null")){
param = temp[i];
}
else if ((i > 2)){
param = param + "," + temp[i];
}
}
}
%>
<option value="<%=param%>" name="<%=temp[0]%>"><%=temp[0]%></option>
<%
}
test.close();
%>
</select></td>
</tr>
当用户选择其中一个选项时,javascript将在inputtext框中生成相应的参数...(参数数量因每次测试而异)
实施例。我们说
<option value="size,height,weight" name=apple>apple</option>
已被选中。然后我希望我的页面显示3个文本框,如....
<td> Enter size: </td>
<td><input type="text" id="size" name="size"></td>
<td> Enter height: </td>
<td><input type="text" id="height" name="height"></td>
<td> Enter wieght: </td>
<td><input type="text" id="weight" name="weight"></td>
我的尝试:
<script type="text/javascript">
function makeBox() {
var selected = document.getElementById('batchname');
for (var i=1, n=selected.options.length;i<n;i++){
if (selected.options[i].value){
var a = "<input type = 'text' name = '" + selected.options[i].value + "' id = '" + selected.options[i].value + "'>";
document.getElementById("inputBox").innerHTML = a;
}
}
};
</script>
我正在阅读的文本文件:
Apple:A.B.C.D:size:colour
Banana:G.C.D.E:length
Pear:L.D.E.F:shape:weight:color
Orange:E.C.A.W:density:length:color:weight
Melon:E.P.D.A // no param
^什么都不做...... 从根据选择框发送多个值来创建多个输入框,我从根本上说错了吗? 如果有更好的方法,请向我建议...... :) 谢谢你的帮助!
答案 0 :(得分:1)
您必须在select字段中添加一个事件侦听器,并在值进行chaged时创建一个元素。这里有一些可能对您有帮助的代码。我只是写一个粗略的代码来给你一个想法。你必须解决它,使它适用于你的特定情况。
您必须在加载正文后立即设置此事件侦听器。那么在你的HTML上
<body onload="init()" id="stage" class="theme">
和你的javascript
function init() {
document.getElementById("selectListID").addEventListener("change", function(){
var value = document.getElementById("selectListID").value; // this gives you the selected value.
// Your code to add the element that you need.
};)
}
希望这会有所帮助。 希望这会有所帮助。