是否可以动态重新加载一个form:select,其值取决于另一个form:select的值
问题内容:
我在表格中有一对州/城市下拉菜单。城市下拉列表应根据用户选择的状态动态更改。我在Spring MVC中使用jQuery。
我的州/城市对象是HashMaps的HashMap,因此,对于州“
01”(第一个键),我有城市001(第二个键)-city1(值)和002(第二个键)-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中选择的代码进行更改。
有人可以帮忙吗?
问题答案:
进行ajax调用以获取城市列表并更新您的其他选择框。如果您不想进行ajax调用或城市列表很小,请在初始页面请求中获取这两个详细信息,然后使用javascript/ jquery进行更新。