1
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>
4

1 回答 1

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>
于 2013-10-18T13:00:56.100 回答