jsp中的动态下拉列表

时间:2015-06-23 11:09:58

标签: javascript java jsp servlets jstl

我有一个动态的下拉列表,那么我如何迭代并在下拉列表中插入列表值?

var questionids = {"Name", "Age", "Smoker", "Drinker", "Visit Denist"};

<select name="questionid" id="questionids">
<c:forEach var="questionids" items="${questionids}">
<option value="">${questionids}</option>
</c:forEach>
</select>

我试过如上所述。它不起作用。另外我需要每个选项的值应该自动递增,如第一个选项值是1,第二个选项值是2. e.t.c

任何人都可以建议解决方案

3 个答案:

答案 0 :(得分:0)

这是正确的方法,但您必须在var中为<c:forEach>提供另一个名称,如下所示:

var questionids = {"Name", "Age", "Smoker", "Drinker", "Visit Denist"};

<select name="questionids" id="questionids">
    <c:forEach var="questionid" items="${questionids}">
        <option value="${questionid}">${questionid}</option>
    </c:forEach>
</select>

答案 1 :(得分:0)

<% java.util.HashMap map = new java.util.HashMap(); 
map.put("0", "Name"); 
map.put("1", "Age"); 
map.put("2", "Smoker"); 
map.put("3", "Drinker"); 
map.put("4", "Visit Denist"); 
pageContext.setAttribute("map", map); 
%>




<select name="questionid" id="questionids" >
    <c:forEach items="${map}">
        <option value="${items.key}">${items.value}</option>
    </c:forEach>
</select>

答案 2 :(得分:0)

<select name="questionid" id="questionids">
</select>

您可以动态地使用javascript构建select。您可能希望使用arr值作为选项值。如果你想使用增量,你可以创建一个arr并循环它们。

    var questionids = {"Name", "Age", "Smoker", "Drinker", "Visit Denist"};
//  var valuesArr = [1, 2, 3, 4, 5];       
    $.each(questionids , function(i, e) {
        $('#questionids').append("<option value='"+e+"'>"+e+"</option>");
//      $('#questionids').append("<option value='"+valuesArr[i]+"'>"+e+"</option>");
    });