使用javascript数组填充select

时间:2017-05-21 17:22:21

标签: javascript html jsp drop-down-menu

我的表单中有两个选项:源和文件,每次选择一个源,我想在第二个选择中添加源选择的文件,这是为文件 到目前为止,我做到了这一点:

 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}}

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);
         }
    }

}