我有两个选择框。它们都应从数据库填充。第二个选择框应根据第一个选择框中所选的选项填充。数据库连接成功,我能够填充第一个选择框。但我不知道如何根据第一个选择框填充第二个选择框。我用来填充第一个选择框的代码是,
<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 或其他东西来实现此目的。
最佳答案
对于第一个选择框,您可以默认填充值,就像上面代码中提到的那样:
<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>
关于mysql - 选择另一个选择框时填充选择框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15470780/