繁体   English   中英

根据第一选择值从数据库填充第二选择(车辆模型)-Codeigniter

[英]Populating second select from database based on first select value (vehicle models) - codeigniter

当有人从第一个选择输入中选择汽车标记时,我要在此处填充第二个(汽车模型)。

我的汽车模型数据库中有:

list_vehicle_models -  models table
[id] [mark_id] [value_model]

对于标记

list_vehicle_marks - marks table
[id] [value]

这是我的控制器,预期将根据list_vehicle_marks值接收ID为Ajax的请求:

function models($mark_id){

        $this->db->select();
        $this->db->from('list_vehicle_models');
        $this->db->join('list_vehicle_marks','list_vehicle_models.mark_id = list_vehicle_marks.id');
        $this->db->where('list_vehicle_marks.id',$mark_id);         
        $query = $this->db->get()->result_array();

        return $query;    
    }

(无需使用此contoller函数样本,因为它可以正常工作。)这是我的观点,我必须分别填充标记车辆,并且当有人根据我放入标记中的标记ID在第二选择输入中选择要执行的标记时选择值:

                               <select name="mark_vehicles" id="mark_vehicles">    
                    <option value="value1">-select-</option>
                    <?php foreach($vehicle_mark as $mark){ ?>
                    <option value="<?php echo $mark['id']; ?>">
                                    <?php echo $mark['value']; ?></option>
                    <?php } ?>                      
                       </select>        

            <select name="mark_models" id="mark_models">                
                    <option value=""></option>                  
            </select>

所以我的问题是当有人选择ex时如何发送ajax或jquery帖子请求。 奥迪在第二个要执行的选择框上执行基于list_vehicle_models的数据库中的所有audi模型。

谢谢。

等待一些帮助。

您需要绑定到mark_vehiclesonChange事件。 使用jQuery,这将是:

$("#mark_vehicles").change(function() {
   var selectedMark = $("mark_vehicles").val();
   if (selectedMark != "") {
      $.ajax({
         type: "GET",
         url: "<controller>/models/" + selectedMark,
         success: function(data) {
            $("mark_models").html("");
            $("mark_models").append("<option value=''></option>");
            $.each(data, function() {
               $("mark_models").append("<option value='" + this.id + "'>" + this.value + "</option>");
            });
         }
      });
   }
});

有关使用jQuery发出AJAX调用的文档在此处

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM