我将描述两种方法:使用/不使用AJAX。
- 如果要进行 同步表单提交 ,则需要将
onchange
event 附加到第一个select
元素:
<select name="select-one" id="select-one" onchange="this.form.submit()"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select>
完成这种方式后,将提交表单,并且第一个选择选项将以形式提供
request.getParameter("select-one"),您将基于该选项提供第二个下拉列表的数据,通常将其转发到JSP。
- 如果要 通过AJAX 检索列表并重新填充另一个下拉列表,则可以发送AJAX请求并在回调函数中处理返回的数据:
var val = $('#select-one option:selected').val(); $.ajax({ url: "servletURL",//servlet URL that gets first option as parameter and returns JSON of to-be-populated options type: "POST",//request type, can be GET cache: false,//do not cache returned data data: {one : val},//data to be sent to the server dataType: "json"//type of data returned }).done(function(data) { var second = $("#select-two"); $.each(data, function() { options.append($("<option />").val(this.value).text(this.label)); }); });
这样,第二个下拉列表将被重新填充而无需刷新页面。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)