Как выполнить JavaScript после вставки раскрывающихся данных через Ajax? - PullRequest
0 голосов
/ 24 сентября 2019

У меня есть форма, которая динамически загружает некоторые из своих данных через Ajax, где, помимо множества других вещей, я заполняю раскрывающийся список.При выборе элемента он загружает соответствующие данные в таблицу.

Это все работает нормально, но теперь я хочу иметь возможность по умолчанию загружать данные первого элемента после загрузки страницы.

Но так как раскрывающийся список заполняет Ajax, он немного заполняется после $(document).ready(), так что это не работает.

Один из способов работы - подождать секунду или двес тех пор все это должно быть загружено, но это действительно не то, что мне нравится делать.

Есть идеи, как мне этого добиться?

Я уже пробовал это с onloadeddata="loadData($(this)[0].selectedOptions[0].value)" навыберите тег, но это, похоже, ничего не делает.

РЕДАКТИРОВАТЬ:

И я не хочу выполнять это в функции успеха ajax, поскольку данные могути загружаться другими способами.Это действительно должно быть выпадающее поле или что-то, что наблюдает за выпадающим списком, которое выполняет это.

Ответы [ 3 ]

2 голосов
/ 24 сентября 2019

JQuery Ajax обеспечивает обратный вызов для успешного запроса.

$.ajax({
    url : 'stackoverflow.com/api',
    type: 'GET',
    success : successMethod
})

function successMethod(){
    // foo
}

Как только запрос получит ответ, будет вызван successMethod.

1 голос
/ 24 сентября 2019
$.ajax({
  url: "test.html",
  ...
}).done(function(data) {
 // do something with your data in here
});
0 голосов
/ 24 сентября 2019

jquery ajax имеет функцию success, в которой вы можете выполнять такую ​​функцию.Для этого вы можете попробовать:

success: function(response) {
    // fill the form value with 'response'
    $('#dropdown_id').val('any_value');  // this will set the dropdown to specific value
}
...