我的表单中有两个选项:源和文件,每次选择一个源,我想在第二个选择中添加源选择的文件,这是为文件 到目前为止,我做到了这一点:
function getval()
{
var myList = new Array();
<c:forEach items="${files}" var="item" varStatus="loop">
myList["${loop.index}"] = "${item.description}";
</c:forEach>
var select = document.getElementById("file");
for(index in myList) {
var opt = document.createElement('option');
option.text =myList[index];
select.add(option);
}
}
这是getVal()函数:
{{1}}
答案 0 :(得分:0)
JSP在服务器端运行,javascript在客户端运行。
JSP需要表单提交或页面重新加载来执行,而您想要的效果最好使用javascript来完成,javascript在客户端的浏览器上运行,而不与服务器交互。
使用javascript,而不是JSP用于getVal函数;可以使用JSP作为源下拉列表的初始值。
还要为您的“来源”选择一个id属性:
function getval()
{
var opts = document.getElementById("source").options;
var select = document.getElementById("file");
// remove previous options in
for( index in select.options)
select.remove( index );
for( index in opts ) {
if( opts[index].selected )
{
var option = document.createElement("option");
option.value = opts[index].value ;
option.text = opts[index].text ;
select.add(option);
}
}
}