【问题标题】:Dependent Drop Down List in jspjsp中的依赖下拉列表
【发布时间】:2013-02-02 08:33:34
【问题描述】:

我的 JSP 中有两个下拉菜单。一个用于顶级类别,另一个用于子类别。当我的 JSP 页面最初加载时,它将仅包含第一个下拉框中的 topcategories 列表,而第二个下拉列表将为空。当我从第一个下拉列表中选择 topcategory 时,其相应的子类别应填充在第二个下拉列表中。在我初始加载 jsp 本身的过程中,我将获得包含顶级类别和子类别列表的数据bean。 So when the topcategory is selected i should get the value of topcategory selected and I have to compare it with the topcategory list present in databean and need to populate the corresponding subcategories in the second drop down.如何做到这一点请帮助我。提前致谢。我已经分享了我的代码以供参考。

<div class="selectbox01">
                <select name="make" id="make" onchange="loadModel()">

                    <c:forEach var="topCategory" items="${catalog.topCategories}" varStatus="status">
                    <option selected="selected"></option>
                    <option value="${topCategory.categoryId}"><c:out value="${topCategory.description.name}"/></option>
                    </c:forEach>
                </select>
            </div>
            <c:set var="make" value="${WCParam.make}"/>
            <div class="selectbox01">
                <select name="model" id="model">
                <option selected="selected"></option>
                <c:forEach var="topCategory" items="${catalog.topCategories}" varStatus="status">
                <c:if test="${topCategory.categoryId == make}">
                <c:forEach var="subTopCategory" items="${topCategory.subCategories}" varStatus="status2"> 
                    <option value="${subTopCategory.categoryId}">
<c:out value="${subTopCategory.description.name}"/></option>
                   </c:forEach>
                   </c:if>
                     </c:forEach>

                </select>
            </div>

【问题讨论】:

    标签: java javascript ajax jsp


    【解决方案1】:

    一种方法是创建一个表示“目录”bean 的 javascript 对象。然后编写一个绑定到 topcategories 下拉列表的 onchange 处理程序,该处理程序使用 javascript 中的“目录”对象来获取子目录的 javascript 数组。

    将其分解为步骤:

    第 1 步: 制作一个表示“目录”bean 的 javascript 对象: 一个简单的方法是覆盖 Catalog bean 的 toString() 方法并返回一个表示 bean 的 JSON 对象。或使用Jackson api 将目录对象转换为 JSON 字符串。完成后,将 json 保存在 javascript 变量中。例如在你的jsp中写下:

    <script type="text/javascript"> var catalogJson = ${catalog};</script>
    

    第 2 步: 在 javascript 中编写 loadModel 函数,该函数使用“catalogJson”变量来获取子目录并将它们填充到另一个下拉列表中。

    我已经消除了一些细节,但我猜大部分都是直截了当的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-27
      • 2021-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多