2017-05-05 41 views
0

當我選擇更改下拉值時,它不顯示選定的值。它繼續顯示初始值。只有如何顯示選定的值? 我的下拉列表: jsp中:我的下拉值總是顯示初始值,只有當我選擇另一個值也繼續顯示jsp初始值

<body onload="form1.submit();"> 
    <form name="form1" action="#" > 
    <select id="ddl" name="ddl" onchange="submit();"> 
           <% while (res.next()){%>        
       <option value="<%=res.getString("ID")%>"><%=res.getString("UserId")%><%} 
String Per=request.getParameter("ddl"); 
out.println(Per);%> 
</form> 
</body> 

回答

0

如果形式在頁面加載提交,那麼它會在一個無限循環中這樣做。請不要這樣做。這裏是一些使用JSTL的演示代碼。

<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %> 
<html> 
    <body> 
     <form name="form1" action="#" > 
      <select id="ddl" name="ddl" onchange="submit();"> 
       <c:forEach items='1,2,3,4,5' var="current"> 
        <option value="${current}" 
        <c:if test="${current == param.ddl}"> 
         selected 
        </c:if> 
        >${current}</option> 
       </c:forEach> 
      </select> 
     </form> 
     Selected value is ${param.ddl} 
    </body> 
</html> 
+0

嗨@rickz,你能不能請更新我的代碼 – Antony

+0

Scriptlets在這個網站上皺起了眉頭。如果我發佈了一個scriptlet解決方案,那麼我會打我的手。如果你想繼續使用scriptlet,那麼複製我的代碼的邏輯。將每個變量賦值放在循環之上。在循環內部,檢查res.getString(「ID」)是否等於每個變量。如果找到,則在該選項標籤內打印選定的屬性。 – rickz