$('#cmbState').change(function () {
$.ajax({
type: "POST",
url: "../include/ajax.php",
data: {option: "getCitiesList", stateid: $(this).val()},
dataType: "json",
success: function (data) {
var $cmbCity = $('#cmbCity').empty();
$.each(data, function () {
$cmbCity.append('<option value="' + this.id + '">' + this.name + '</option>')
});
},
beforeSend: function(){ $('#cmbCity').addClass('show_loading_in_center') },
complete: function(){ $('#cmbCity').removeClass('show_loading_in_center') }
});
});
Вам нужно написать обработчик success
, который будет вызываться с переданными данными (completed
вызывается даже при ошибке). Данные передаются в качестве первого аргумента. Сначала empty()
выберите и присвойте ему $cmbCity
по соображениям производительности. Затем мы перебираем data
, используя $.each
(кросс-браузерная итерация jQuery), которая связывает каждый из элементов с this
. Используя это, мы создаем новые опции в #cmbCity
select.
Приведенный выше код предполагает, что ответ имеет следующий формат:
[{"id": 1, "name": "London"},
{"id": 2, "name": "Paris"},
{"id": 3, "name": "New York"}]
Также обратите внимание, что data
(в приведенном выше вызове $ .ajax) имеет формат значения ключа - jQuery автоматически его сериализует.