フォームに州/都市のドロップダウン選択のペアがあります。都市のドロップダウンは、ユーザーが選択した州に応じて動的に変更する必要があります。Spring MVC で jQuery を使用しています。
州/都市のオブジェクトは HashMap の HashMap であるため、州 '01' (最初のキー) の場合、都市 001 (2 番目のキー) - city1 (値) および 002 (2 番目のキー) - city2 (値) を取得します。 :
LinkedHashMap<String,LinkedHashMap<String, String>> enumsCountyByDistrict = new LinkedHashMap<String,LinkedHashMap<String, String>>();
LinkedHashMap<String, String> districtCounties = new LinkedHashMap<String, String>();
for (City en : cities)
districtCounties.put(en.getCode(), en.getDescription());
enumsCountyByDistrict.put(district, districtCounties);
ここで、都市はデータベースから取得したリストです。
このオブジェクトを次の方法でビューに渡します。
modelAndView.addObject("countiesByDistrict", enumsCountyByDistrict);
modelAndView.addObject("districts", districts);
地区は、さまざまな州のリストです。
これで、私の JSP は form:selects で値を表示します:
<div class="span3">
<label> <fmt:message key="create.district" /></label>
<form:select id="addressdistrict" path="person.addressdistrict">
<c:forEach items="${districts}" var="item">
<form:option value="${item.code}" label="${item.description}" />
</c:forEach>
</form:select>
</div>
<div class="span3">
<label> <fmt:message key="create.county" /> </label>
<form:select path="person.addresscounty" id="addresscounty">
<form:options items="${countiesByDistrict['13']}" />
</form:select>
</div>
countiesByDistrict[ '13' ] をハードコーディングして、地区 13 の都市を表示しています。これで問題ありませんが、もちろん、addressdistrict form:select で選択したコードに応じて変更したいと考えています。
誰でも助けることができますか?