У меня есть раскрывающийся список, который заполняется с помощью вызова jquery ajax при изменении другого раскрывающегося списка, при событии change () код, который делает это:
//dropdowns switching
$("#eventActivity").bind("change", (function()
{
$.ajax({
type:"POST",
url:"<?php echo site_url('events/get_locations_for_activity'); ?>" + "/" + $(this).val(),
data: "activityID=" + $(this).val(),
cache: false,
dataType: "json",
success:function(data)
{
//empty the ddl
$(".locationDDL").children("select:first").children("option").remove();
//go through the json data returned and edit the drop down
for( var i = 0 ; i < data.length ; i++)
{
$(".locationDDL").children("select:first").append("<option value=\"" + data[i].locationID + "\">" + data[i].name + "</option>");
}
}
});
})).change(); //force change to run once so it works on load for the first dropdown option
Теперь эти раскрывающиеся спискидиалоговое окно, которое появляется при нажатии кнопки «Изменить».Я передаю данные в диалог редактирования, чтобы я мог предварительно заполнить поля в диалоге.Все работает нормально, за исключением установки правильных значений в раскрывающихся списках.
Код, который я использую для этого, находится здесь:
$("#eventActivity").val(event.activityID);
$("#eventActivity").change(); //force the change handler to update the dropdowns
$("#eventLocation").val(event.locationID);
Как видите, я установил значение первого раскрывающегося списка,вызвать событие изменения, которое должно загрузить новые значения во второй раскрывающийся список, затем установить значение второго раскрывающегося списка.Проблема в том, что третья строка кода (настройка #eventLocation) не работает, вместо этого в раскрывающемся списке остается выбранное значение по умолчанию, первое значение в списке раскрывающегося списка.
Любые предложения приветствуются!