【问题标题】:Dynamically change <option> list for <form:select> in spring MVC在 Spring MVC 中动态更改 <form:select> 的 <option> 列表
【发布时间】:2014-03-21 03:23:47
【问题描述】:

我有一个在 HTML 提交按钮的帮助下提交的工作 spring 表单,并且路径变量都被分别拾取。我现在必须在该表单中引入两个下拉菜单 - TypeSub Type。我有一个包含文本 n 值的列表项的自定义对象,我会将它们用于我的新列表。类型列表非常简单,但子类型列表将显示一些特定选项,这些选项取决于 Type 列表中的选择。所以我对每种类型都有一些类型和一些子类型。我通过模型属性将它们传递给我的 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 然后从那里提交它的方式,但我不希望将我当前的表单更改为那个。

【问题讨论】:

    标签: jsp jakarta-ee spring-mvc


    【解决方案1】:

    您可以在此处使用 DWR。 创建一个 javascript 函数,并在更改“generalSubType”时将“${record.val}”传递给该方法。根据记录值,您可以使用新列表或地图填充“类型”下拉框。

    请参阅此处获取帮助:http://directwebremoting.org/dwr/documentation/server/integration/spring.html

    【讨论】:

      猜你喜欢
      • 2017-12-25
      • 1970-01-01
      • 1970-01-01
      • 2013-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多