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

标签 php jquery mysql ajax codeigniter

我在这里要做的是当有人从第一个选择输入中选择汽车标记时填充第二个(汽车模型)。

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

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

对于标记

list_vehicle_marks - marks table
[id] [value]

这是我的 Controller ,预计会收到带有基于 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;    
    }

(不需要这个 Controller 函数示例,因为它工作正常。) 这是我的观点,我有 foreach 来填充标记车辆,当有人根据我在选择值中输入的标记 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 post 请求。 Audi 在第二个要执行的选择框上基于 list_vehicle_models 数据库中的所有 audi 模型。

谢谢。

等待一些帮助。

最佳答案

您需要绑定(bind)到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 调用的文档是 here .

关于php - 根据第一个选择值(车辆模型)从数据库中填充第二个选择 - codeigniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20689275/

相关文章:

php - 为什么 Magento 不使用大括号来包围代码块?

PHP 更新 MySQL 值并重定向到页面

javascript - jquery Focus 选中整个页面

javascript - 在管理员批准之前,将用户输入的数据保存在哪里

php - 使用php数组删除多行

php - 在 php 中发送电子邮件无法使用 HTML 标签

php - jQuery 不会发布文本区域?

jQuery: 子元素消失 $ ('.parent_class' ) IE 中的不透明效果

javascript - PhoneGap 中的 $.getJSON 不工作

php - mysql更新子句被忽略