通过Ajax插入下拉数据后,如何执行JavaScript?

通过Ajax插入下拉数据后,如何执行JavaScript?,javascript,jquery,user-interface,user-experience,Javascript,Jquery,User Interface,User Experience,我有一个表单,可以通过Ajax动态加载它的一些数据,除了很多其他内容外,我还填写了一个下拉列表。选择项目时,它会将相应的数据加载到表中 这一切都很好,但现在我希望能够在页面加载后,在默认情况下加载第一个元素的数据 但是由于下拉列表是通过Ajax填充的,所以在$(document).ready()之后稍有填充,所以这不起作用 一种可能有效的方法是等待一两秒钟,因为那时它应该全部加载,但我真的不喜欢这样做 你知道我怎样才能做到吗 我已经在select标记上使用了onloadeddata=“loadD

我有一个表单,可以通过Ajax动态加载它的一些数据,除了很多其他内容外,我还填写了一个下拉列表。选择项目时,它会将相应的数据加载到表中

这一切都很好,但现在我希望能够在页面加载后,在默认情况下加载第一个元素的数据

但是由于下拉列表是通过Ajax填充的,所以在
$(document).ready()
之后稍有填充,所以这不起作用

一种可能有效的方法是等待一两秒钟,因为那时它应该全部加载,但我真的不喜欢这样做

你知道我怎样才能做到吗

我已经在select标记上使用了
onloadeddata=“loadData($(this)[0].selectedOptions[0].value)”
进行了尝试,但这似乎没有任何作用

编辑:

我不想在ajax成功函数中执行此操作,因为数据也可能以其他方式加载。它实际上应该是下拉字段或监视下拉列表的内容来执行此操作。

为成功的请求提供回调

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

function successMethod(){
    // foo
}

一旦请求收到响应,就会调用
successMethod

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
}

查看该函数的文档,它提供了一个回调,该回调将在请求完成后立即执行(成功或失败),因此触发select上的更改事件以加载数据
$.ajax({
  url: "test.html",
  ...
}).done(function(data) {
 // do something with your data in here
});