我想根据之前选择中的选择更改下拉选项。所以我有一个数据库用于存储汽车品牌和型号的值。结构是id,make,model 目前,我有一个函数来获取make然后获取模型,然后调用Make选项的函数,然后调用Model选项,但是它显示了所有这些并且我不想要它。 那我该怎么做呢? 我在这里搜索并看过东西,但我仍然感到困惑和缺乏经验。
真的不认为你需要我现在的任何代码,但如果你这样做,请告诉我。
答案 0 :(得分:0)
我不太清楚你的意思,但基于我的理解,
你有两个下拉选择, 一个作为父选择,第二个是子选择, 子选择下拉值取决于父选择, 那是你的意思吗?
如果是,
一种简单的方法是使用jquery和ajax,
你必须阅读基本的ajax和事件监听器才能做到这一点,
第一次选择下拉列表,
<select id="parent_select">
</select>
<select id="child_select">
</select>
/ *这将填充您的父选择* /
$.ajax({
url: 'url that will display all list'
dataType: 'json',
type: 'get',
success: function(data){
var output = "";
$.each(data, function(a,b){
output += "<option value='"+b.id+"'>"+b.parent_select_name+" </option>"
$("#parent_select").append(output);
});
}
})
/ *这将填充您的孩子在更改父* /
的值时选择$(document).on("change", "#parent_select", function(){
var parent_id = $(this).attr("id");
$.ajax({
url: 'url that will display child data where parent_id = parent_id ',
type: 'POST',
dataType: 'json',
data: { 'parent_id' : parent_id } /* you are passing parent_id*/
success: function(data){
$("#child_select").empty();
var output = "";
$.each(data, function(a,b){
output += "<option id="+b.child_id+">"+b.child_desc+"</option>";
})
$("#child_select").append(output);
}
})
})