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