Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 基于第一个选择值(车型)填充数据库中的第二个选择-codeigniter_Php_Jquery_Mysql_Ajax_Codeigniter - Fatal编程技术网

Php 基于第一个选择值(车型)填充数据库中的第二个选择-codeigniter

Php 基于第一个选择值(车型)填充数据库中的第二个选择-codeigniter,php,jquery,mysql,ajax,codeigniter,Php,Jquery,Mysql,Ajax,Codeigniter,这里我要做的是,当有人从第一个选择输入中选择car mark时,填充第二个汽车模型 我的数据库中有以下车型: list_vehicle_models - models table [id] [mark_id] [value_model] 至于分数呢 list_vehicle_marks - marks table [id] [value] 这是我的控制器,它将根据列表\车辆\标记值接收ID为的ajax请求: function models($mark_id){ $this

这里我要做的是,当有人从第一个选择输入中选择car mark时,填充第二个汽车模型

我的数据库中有以下车型:

list_vehicle_models -  models table
[id] [mark_id] [value_model]
至于分数呢

list_vehicle_marks - marks table
[id] [value]
这是我的控制器,它将根据列表\车辆\标记值接收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;    
    }
不需要这个控制函数示例,因为它可以正常工作。 这是我的观点,我有foreach来填充标记车辆,当有人根据标记id在第二个select输入中选择要执行的标记时,我将该标记id放入select上的值中:

                               <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.Audi时,如何发送ajax或jquery post请求,以便根据列表\车辆\车型从数据库中执行所有奥迪车型

谢谢

正在等待帮助。

您需要绑定到mark_车辆的onChange事件。使用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调用的文档是。

这里将非常感谢Matt提供的更多帮助,但无论如何还是要感谢您。使用完整的示例编辑。值得一提的是,我没有给出完整的示例,因为我想鼓励您使用jQuery文档,这非常好。我还更改了示例,将您的操作称为GET,而不是POST,因为这实际上是正确的调用类型。当我更改字段未捕获的SyntaxError:Unexpected token}时出错;编辑。我忘记了每个功能的$结束。