根据先前的选择自动下拉更改

时间:2017-10-16 03:11:46

标签: php jquery phpmyadmin

我想根据之前选择中的选择更改下拉选项。所以我有一个数据库用于存储汽车品牌和型号的值。结构是id,make,model 目前,我有一个函数来获取make然后获取模型,然后调用Make选项的函数,然后调用Model选项,但是它显示了所有这些并且我不想要它。 那我该怎么做呢? 我在这里搜索并看过东西,但我仍然感到困惑和缺乏经验。

真的不认为你需要我现在的任何代码,但如果你这样做,请告诉我。

1 个答案:

答案 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);
         }
     })
})