如何根据先前的 select/option 字段缩小 select/option 值?
How to narrow select/option values based on previous select/option field?
我有一个表单,用户需要在其中选择多个选项。
在第一个select选项中用户选择region
,然后在region
中操作的executors
,用户选择。我尝试了以下代码:
<select name="region" form="addRequest" id="region">
<c:forEach var="Region" items="${regions}">
<option value="${Region}">${Region}</option>
</c:forEach>
</select>
<select name="executor" form="addRequest">
<c:forEach var="executor" items="${executorData}">
<c:if test="${executor.getField4() eq region}">
<option value="${executor.getField1()}">${executor.getField1()}</option>
</c:if>
</c:forEach>
</select>
但是在页面上启动时我有空选项。
这是行不通的。当您 select 第一个 <select>
中的 region
值时,您不会在第二个 <select>
尝试访问 [=] 的值之前将其提交给您的服务器端代码10=]。因此,除非预先填充 region
,否则这将是一个 null
值。
要解决您的问题,请尝试使用 JavaScript/jQuery。
我有一个表单,用户需要在其中选择多个选项。
在第一个select选项中用户选择region
,然后在region
中操作的executors
,用户选择。我尝试了以下代码:
<select name="region" form="addRequest" id="region">
<c:forEach var="Region" items="${regions}">
<option value="${Region}">${Region}</option>
</c:forEach>
</select>
<select name="executor" form="addRequest">
<c:forEach var="executor" items="${executorData}">
<c:if test="${executor.getField4() eq region}">
<option value="${executor.getField1()}">${executor.getField1()}</option>
</c:if>
</c:forEach>
</select>
但是在页面上启动时我有空选项。
这是行不通的。当您 select 第一个 <select>
中的 region
值时,您不会在第二个 <select>
尝试访问 [=] 的值之前将其提交给您的服务器端代码10=]。因此,除非预先填充 region
,否则这将是一个 null
值。
要解决您的问题,请尝试使用 JavaScript/jQuery。