【发布时间】:2018-08-22 03:30:52
【问题描述】:
我正在使用 CodeIgniter 并有一个带有 2 个选择选项的表单。第一个选择选项是汽车品牌,第二个选择选项是品牌。如果我从 As 'BMW' 中选择 Car Make,则第二个选择选项中的值应更改并显示 BMW 制造的所有型号。
**WelcometoDemoCar.php (View)**
*//to get the Car Make List Box*
<input type = "text" name = "car_list" list="car_dalalist" id = "car_list" class = "inktext inklarge" placeholder = "Type of Car" required = "" autocomplete="off" />
<datalist id="car_dalalist">
<?php foreach($carlist as $row_carlist){?>
<?php //echo $row_carlist->Make . " " .$row_carlist->Model ." " .$row_carlist->Year ;?>
<option value="<?php echo $row_carlist->Make;?>"> <?php echo $row_carlist->Make;?></option>
<?php }?>
</datalist>
*//to get the value in the Make Select List Box*
<input type = "text" name = "car_model" list="car_model_dalalist" id = "car_model" class = "inktext inklarge" placeholder = "Car Model" required = <datalist id="car_model_dalalist">
<?php foreach($carModel as $row_carModel){?>
<?php //echo $row_carlist->Make . " " .$row_carlist->Model ." " .$row_carlist->Year ;?>
<option value="<?php echo $row_carModel->Model;?>"><?php echo $row_carModel->Model;?> </option>
<?php }?>
</datalist>
**Welcome.php (Controller)**
$this->data['carlist'] = $this->PostModel->getCarDetails();
$this->data['carModel'] = $this->PostModel->getCarModel();
**PostModel.php (Model)**
*//to get car make*
function getCarDetails(){
$this->db->Distinct();
$this->db->select("Make");
$this->db->from('carlist');
$carListquery = $this->db->get();
return $carListquery->result();
}
*// to get car model*
function getCarModel(){
$make = $this->input->post('car_list');
$this->db->Distinct();
$this->db->select("Model");
$this->db->from('carlist');
$this->db->where('Make' . $make);
$carmodelquery = $this->db->get();
return $carmodelquery->result();
}
public function get_data()
{
$value = $this->input->post("value");
$data = $this->PostModel->get_data($value);
$option ="";
foreach($data as $d)
{
$option .= "<option value='".$d->id."' >".$d->Model."</option>";
}
echo $option;
}
我尝试了一些使用 ajax 在各种网站上发布的解决方案,但我认为我的值没有被发布到控制器。
ajax 代码
$("#car_list").on("change",function(){
var value = $(this).val();
$.ajax({ url : "welcome/get_data",
type: "post",
data: {"value":'value'},
success : function(data){
$("#car_model").html(data);
},
});
});
非常感谢您的时间和帮助。
提前致谢。
【问题讨论】:
-
@你能分享你的ajax代码吗
-
@Abhijit 我更新了我的 ajax 代码
-
此“#car_list”不在表单中。您提供的代码中也不存在 get_data()
-
@Abhijit 对不起我的错.. 元素名称和 ID 是 car_list。它在模型和控制器中与 car_list 相同。我现在将更新我的代码
-
@Abhijit 我刚刚更新了问题中的代码。对不起!!
标签: php ajax codeigniter codeigniter-3