[英]MySQL CodeIgniter Select or not from second table based on column of first Select
[英]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_vehicles
的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调用的文档在此处 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.