我有两个选择框。它们中的任何一个都应该从数据库中填充。应该根据第一个选择框中的选定选项填充第二个选择框。数据库连接成功,我可以填充第一个选择框。但我不知道如何填充第二个选择框基于我用来填充第一个选择框的first.code,
<select class="weekcombo">
<%
List list= new DataManager().getlist();
for(int i = 0; i < list.size(); i++) {
out.write("<option value=\""+ list.get(i)+ "\">"+ list.get(i));
}
%>
我不知道是否要使用servlet或其他东西。
答案 0 :(得分:1)
对于第一个选择框,您可以默认填充值,就像您在上面的代码中提到的那样:
<select class="weekcombo" onchange="populateSecValues(this)">
<%
List list= new DataManager().getlist();
for(int i = 0; i < list.size(); i++) {
out.write("<option value=\""+ list.get(i)+ "\">"+ list.get(i));
}
%>
</select>
<select id="secBox" class="weekcombo">
</select>
Javascript: 在urlString中,您可以传递第一个选择框值,就像我在下面的代码片段中传递的那样
function populateSecValues(obj){
// use here ajax call .. which will populate second box data
var firstBoxValue = obj.value;
var urlString ="your_action_url?firstBoxValue="+firstBoxValue ;
$.ajax({
type: "POST",
url: urlString ,
success: function(result) {
console.info("result"+result);
$("#secBox").html(result);
}
});
}
从服务器以
的形式填充值<option value ="secBoxValue">secBoxValue</option>
答案 1 :(得分:0)
Sagar Dalvi有一个很好的解决方案。根据第一个选择的项目填充第二个选择框的唯一方法是使用Javascript。这是因为,除非您使用Javascript,否则需要在页面加载时知道第二个选择框的内容 - 在用户进行任何选择之前。
使用Javascript,当用户使用AJAX调用在第一个选择框中进行选择时,该页面可以动态地将选项加载到第二个选择框中。
没有使用javascript的唯一方法就是让表单跨越多个页面,所以第二个选择框在下一页。