Javascript 是否更改在文档准备就绪时由ajax填充的select的选定值?
“我的文档”加载并使用URL中的变量(获取变量),并将Javascript 是否更改在文档准备就绪时由ajax填充的select的选定值?,javascript,jquery,ajax,events,Javascript,Jquery,Ajax,Events,“我的文档”加载并使用URL中的变量(获取变量),并将元素的选定值更改为URL中指定的值 这很容易,因为当文档加载时,已填充,我只需要更改所选的值 第二个通过ajax填充第一个的数据(嵌套的类别),我可以在“文档加载”中填充它,但我不知道如何更改它的选定值 我知道这可能必须通过委托事件来完成,但我只通过单击事件等来完成 我尝试过的事情: 摘自jQuery文档网站: $( "#select-with-ajax-vals" ).on( "change", function( event ) {
元素的选定值更改为URL中指定的值
这很容易,因为当文档加载时,
已填充,我只需要更改所选的值
第二个
通过ajax填充第一个的数据(嵌套的类别),我可以在“文档加载”中填充它,但我不知道如何更改它的选定值
我知道这可能必须通过委托事件来完成,但我只通过单击事件等来完成
我尝试过的事情:
摘自jQuery文档网站:
$( "#select-with-ajax-vals" ).on( "change", function( event ) {
console.log("hello"); //works
$('#select-with-ajax-vals').val(value_from_the_url); //doesn't work but the same exact code pasted in the console works.
});
$(document).ready(function(){
//populate the lists
....
//lists populated etc
$('#select-with-ajax-vals').trigger("change");
});
代码简化了,但你明白了。正如你提到的,数据是通过ajax填充的。我认为发生的是,当您在文档加载时触发#select with ajax vals。数据尚未填充 您可能需要尝试以下代码:
$( document ).ajaxStop(function() {
$( "#select-with-ajax-vals" ).on( "change", function( event ) {
console.log("hello"); //works
$('#select-with-ajax-vals').val(value_from_the_url); //doesn't work but the same exact code pasted in the console works.
});
$('#select-with-ajax-vals').trigger("change");
});
修复了将函数调用传递给.success ajax事件的问题