2014-02-20 36 views
0

我有一個工作的彈簧形式,它是通過HTML提交按鈕提交的,路徑變量都分別提取出來。我現在必須在該表格中引入兩個下拉菜單 - 類型子類型。我有一個包含文本n值的列表項目的自定義對象,我會將它們用於我的新列表。類型列表非常簡單,但子類型列表將顯示一些特定的選項,取決於類型列表中的選擇。所以我有一些類型和每種類型的一些子類型。我通過模型屬性將它們傳遞給我的JSP,如下所示。動態更改<option>列表中的<form:select>在春天MVC

model.addAttribute("types", typeList); 

model.addAttribute("subType1", subTypeList1); 

model.addAttribute("subType2", subTypeList2); 

model.addAttribute("subType3", subTypeList3); 

model.addAttribute("subType4", subTypeList4); 

model.addAttribute("subType5", subTypeList5); 

在我的JSP

<form:select path="type" 
id="type" itemValue="${bean.type}"> 
<c:forEach var="record" items="${typeList}" varStatus="status"> 
<form:option value="${record.val}" label="${record.text}" /> 
</c:forEach></form:select> 

<form:select path="subType" 
    id="subType" itemValue="${bean.subType}"> 
    </form:select> 

現在我面臨的問題是,我想基於類型列表中當前選擇填充子類型清單。爲此,我在這個JSP中創建隱藏的選項。

<div id="generalSubType"> 
<c:forEach items="subtypeList1" var="record"> 
<option value="${record.val}">${record.text}</option> 
</c:forEach> 
</div> 

每當在類型列表中選擇一個類型時,我將子類型列表中的內容與相應的div內容進行交換。

所以我想知道什麼可以是一個標準的方式來使用多個選項列表來獲取內部彈簧表單選擇值。我知道我通過JavaScript填充我的bean的方式,然後從那裏提交它,但我不想改變我目前的形式。

回答