Я поставил вопрос раньше и не имел большой удачи, я надеюсь очистить содержимое второго раскрывающегося списка и повторно заполнить раскрывающийся список, в зависимости от значения, которое находится в первом выпадающем списке.
У меня есть следующие поля выбора, как показано ниже:
<select name = "car" id="Cars" onchange="myFunction(this)">
<option value="0">Toyota</option>
<option value="1">Audi</option>
<option value="2">Suzuki</option>
</select>
Под этим раскрывающимся списком у меня также есть еще один снимок для моделей:
<select id="emptyDropdown">
<option value="0">R8</option>
<option value="1">Quattro</option>
<option value="2">A6 hatchback</option>
</select>
onchange Я хочу очистить второй выпадающий список и заполнить его моделями, связанными с маркой автомобиля. НАПРИМЕР.
Audi - A8, A6, A4 etc.
Suzuki - Swift, Panda etc.
<script>
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){
?????????
}
});
}
</script>
Затем я имею следующую функцию PHP, как показано ниже (я использую codeigniter) - эта функция использует идентификатор автомобиля и возвращает список всех моделей, как показано ниже:
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, чтобы заполнить раскрывающийся список с идентификатором = "emptyDropdown". Массив, сгенерированный в PHP, имеет следующую структуру:
Array ( [0] => Array ( [ModelName] => R8 V6 Twin Turbo [ModelID] => 19 ) [1] => Array ( [ModelName] => A6 Hatchback [ModelID] => 107 ) )
Чтобы прояснить вопрос - как я возьму каждый элемент в массиве и поместил бы это как новый параметр в раскрывающийся список? есть способ вернуть массив в javscript, а затем повторно заселить в методе успеха вызова ajax?
Любая помощь будет высоко оценена, большое спасибо заранее