我较早前发布了一个问题,但运气不太好,我希望清除第二个下拉列表的内容并重新填充该下拉列表,具体取决于第一个下拉列表中的值。
我有以下选择框,如下所示:
Toyota
Audi
Suzuki
在此下拉菜单下,我还为模型添加了另一个下拉菜单:
R8
Quattro
A6 hatchback
onchange我想清除第二个下拉列表,并在其中填充与汽车品牌相关的模型。例如。
Audi - A8, A6, A4 etc.
Suzuki - Swift, Panda etc.
function myFunction(obj)
{
$('#emptyDropdown').empty()
var dropDown = document.getElementById("carId");
var carId = dropDown.options[dropDown.selectedIndex].value;
$.ajax({
type: "POST",
url: "/project/main/getcars",
data: { 'carId': carId },
success: function(msg){
?????????
}
});
}
然后,我具有如下所示的PHP函数(我正在使用codeigniter)-该函数使用Car ID并返回所有模型的列表,如下所示:
public function getCars(){
$this->load->model('car_model');
$this->form_validation->set_rules('carId', 'carId', 'trim|xss_clean');
if($this->form_validation->run()){
$carId = $this->input->post('carId');
$carModels = $this->user_management_model->getCarModels($carId);
} else {
echo "error";
}
}
然后,我不知道如何返回用PHP生成的数组中的每个元素,以ID =“ emptyDropdown”重新填充下拉列表。用PHP生成的数组具有以下结构:
Array ( [0] => Array ( [ModelName] => R8 V6 Twin Turbo [ModelID] => 19 ) [1] => Array ( [ModelName] => A6 Hatchback [ModelID] => 107 ) )
为了澄清这个问题-
我将如何获取数组中的每个元素并将其作为下拉列表中的新选项?有没有办法将数组返回到javscript,然后在ajax调用的成功方法中重新填充?
任何帮助将不胜感激,在此先感谢