我通过应用以下案例填写了两个下拉列表:
File
类完成)。所以我的jQuery部分是:
$('#rootFolder').change(function() {
var rootFoldervalue = $(this).options[$('#rootFolder').selectedIndex];
如何将此选定的rootFolder
值发送到我的JSP页面,以便我可以再次计算subFolder
名称并在第二个下拉列表中显示它?
getsubfolder.jsp
<%
String root = request.getParameter("foldername");
String path = "G:\\ANDROID\\";
File rootFile = new File(path);
File[] listOfDirs = rootFile.listFiles();
out.println(listOfDirs);
%>
jQuery部分:
$(document).ready(function() {
$("#rootFolder").change(function() {
var rootFolderValue = $('#rootFolder').val();
$.ajax({
url: 'getsubfolder.jsp',
data:'foldername=' + rootFolderValue,
dataType: 'json',
success:function(data) {
$.each(data, function(i, data) {
$('#subFolder').append(
$('<option></option>').val(data.Value).html(data.Text)
)});
}
});
将文件数组作为JSON传输不起作用。如何操纵$.ajax()
成功部分数据中收到的值以填充我的第二个下拉列表?
答案 0 :(得分:1)
您的JS代码可以简化为
var rootFolderValue = $(this).val();
获得此值后,向服务器发送AJAX请求(类似.../getSubFolders?rootFolder=<the root folder>
)。服务器可以使用JSON子文件夹数组来回答,也可以直接使用HTML来回答第二个选择框。在AJAX请求的回调函数中,使用从服务器收到的内容填充第二个选择框。
见http://api.jquery.com/category/ajax/。根据您选择的策略,您可以使用get()
,getJSON()
甚至load()
。