如何根据Selected DropDown设置<c:foreach begin =“1”end =“?”>标签的结束值</c:foreach>

时间:2013-10-18 10:38:13

标签: javascript jsp jstl

1)    <select onChange="showList(this.value);">
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
    </select> 

2)<script type="text/javascript">
    function showList(value){
    var endValue=value;
    }
  </script>

我想要的是我想设置end的值是下拉列表的选择值

3)<c:forEach begin="1" end="? Here I want to set the endValue">
    <h1>print data<h1>
   </c:forEach>

1 个答案:

答案 0 :(得分:1)

<c:forEach>是在服务器端评估的jstl标记,因此您需要重新加载用户输入的页面以影响该标记的评估。您可以在select更改时使用表单发布,如下例所示。这可以通过不同的方式完成,但是你无需回到服务器这一事实。

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
    function showList(){
        document.getElementById('myform').submit();
    }
</script>
</head>
<body>
    <form method="POST" id="myform">
        <select onChange="showList();" name="myselect">
            <option value="1" <c:if test="${param.myselect eq 1}">selected="selected"</c:if>>1</option>
            <option value="2" <c:if test="${param.myselect eq 2}">selected="selected"</c:if>>2</option>
            <option value="3" <c:if test="${param.myselect eq 3}">selected="selected"</c:if>>3</option>
            <option value="4" <c:if test="${param.myselect eq 4}">selected="selected"</c:if>>4</option>
        </select>
    </form>
    <c:if test="${not empty param.myselect}">
        <c:forEach begin="1" end="${param.myselect}">
            <h1>print data</h1>
        </c:forEach>
    </c:if>
</body>
</html>