gpt4 book ai didi

java - 如何在JSP中制作级联下拉框?

转载 作者:行者123 更新时间:2023-12-01 15:57:46 25 4
gpt4 key购买 nike

我尝试在 SO 中搜索我的问题,并找到了大多数 .Net 的答案,而不是 Java 的答案。所以又问这个问题。

如何在JSP中创建级联下拉菜单?即第二个下拉框的值应取决于第一个下拉框。这些值应该从数据库中获取。我知道我应该使用 AJAX,但我不知道该怎么做。如果有人可以提供帮助,那就会有很大帮助。

最佳答案

您需要下载 JQuery(JavaScript 框架)并将其包含在 HTML 的 head 部分中。

<script type="text/javascript" src=PathToJquery.js></script>

在第一个下拉列表的 OnChange 函数内调用该函数来填充后续下拉列表。
$(文档).ready(函数() {
$('#DDIdParent').change(function() { populateChildDropdown('DDIdParent'); });
});

函数如下:

function populateChildDropdown(ddId) {
var dd = $('#' + ddId);
$.getJSON('json/mapping?dd=' + ddId, function(opts) {
$('>option', dd).remove(); // Clear old options first.
if (opts) {
$.each(opts, function(key, value) {
dd.append($('<option/>').val(key).text(value));
});
} else {
dd.append($('<option/>').text("Please select the parent DD"));
}
});
}

在 Servlet 的 doGet 方法中,您将有这样的代码,用于从数据库中以 JSON 字符串形式获取后续下拉列表的值:

        Map options = yourDao.callDatabase(parameter);
String json = new Gson().toJson(options);
res.setContentType("application/json");
res.setCharacterEncoding("UTF-8");
res.getWriter().write(json);

您需要将 json/mapping 映射到 web.xml 中的 servlet。如果需要,您还可以从 jquery 函数传递参数。

关于java - 如何在JSP中制作级联下拉框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4755899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com