簡體   English   中英

如何在JSP中設置drop-down / select的默認值?

[英]How to set default value for drop-down/select in JSP?

我有Strings eqArray的arraylist。

我需要在下拉列表中顯示它,我在JSP中使用以下內容:

<% 

    for(int count=0;count<eqArray.size();count++){ %>
            <option value="<%=eqArray.get(count)%>"><%=eqArray.get(count)%></option>  
     <%} 
%>

我有一個eqName字符串,它是eqArray的一部分,默認情況下應該是選定的值。

如何在不必檢查並將第一個選項設置為eqName的情況下進行操作?

<% for(int count=0; count<eqArray.size(); count++){ %>
    <option value="<%= eqArray.get(count) %>" <%= (eqArray.get(count).equals("eqName"))?"selected":"" %> ><%= eqArray.get(count) %></option>  
<%} %>

在數組中將eqName元素的索引更改為0,或使用條件語句。

<% 
for(int count=0; count < eqArray.size(); count++){ %>
        <%if(eqArray.equals("eqName"){ %>           
            <option  selected="selected" value="<%=eqArray.get(count)%>"><%=eqArray.get(count)%></option>  
        <%} %> 
        <option value="<%=eqArray.get(count)%>"><%=eqArray.get(count)%></option>  
 <%} %>

但是使用JSTL taglib而不是使用scriptlet。

你可以通過JQuery做到這一點,恕我直言更干凈:

<select data-selected="${eqName}">
<% 
    for(int count=0;count<eqArray.size();count++){ %>
            <option value="<%=eqArray.get(count)%>"><%=eqArray.get(count)%></option>  
     <%} 
%>
</select>

在頁面的末尾:

<script type="text/javascript">
  $("select[data-selected]").each(function() {
      var selected = $(this).data("selected");
      $("select[data-selected='" + selected + "'] option[value='" + selected + "']").attr("selected", "selected");
  })
</script>

通過這種方式,您只需要在每個頁面都包含js。

順便說一句,我建議你使用JSTL和EL,它更具可讀性:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<select data-selected="${eqName}">
  <c:forEach items="${eqArray}" var="model">
    <option value="${model}">${model}</option>
  </c:forEach>
</select>

您可以通過兩種方式實現這些

  • 通過使用jsp
  • “selected =”selected“>
  • 通過在選擇框代碼的末尾使用Javascript

    的document.getElementById( 'selectBoxID')。值= “”

    而不是selectBoxID id使用選擇框id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM