我有一个工作弹簧表单,它是在HTML提交按钮的帮助下提交的,路径变量分别被选中。我现在必须在该表单中引入两个下拉列表 - 类型和子类型。我有一个包含文本n值的列表项的自定义对象,我会将它们用于我的新列表。类型列表非常简单,但子类型列表将显示一些特定选项,这些选项将取决于类型列表中的选择。所以我有一些类型和每种类型的一些子类型。我通过下面的模型属性将它们传递给我的JSP。
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然后从那里提交它的方式,但我不希望将我当前的表单更改为。
答案 0 :(得分:0)
您可以在此处使用DWR。 创建一个javascript函数,并在更改“generalSubType”时将“$ {record.val}”传递给该方法。根据记录值,您可以使用新列表或地图填充“类型”下拉框。
请参阅此处寻求帮助:http://directwebremoting.org/dwr/documentation/server/integration/spring.html