如何根据先前的 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。