更改由文档准备好的ajax填充的选择的选定值?

时间:2015-08-04 09:27:09

标签: javascript jquery ajax events

我的文档加载并使用URL中的变量(GET变量),并将<select>元素的选定值更改为URL中指定的值

这很简单,因为当文档加载时,<select>已被填充,我只需要更改所选的值。

第二个<select>通过ajax填充来自​​第一个(嵌套类别的东西)的数据,我可以在“文档加载”上填充它,但我不知道如何更改其选定的值。 / p>

我知道可能必须完成委托事件,但我只是通过点击事件等来完成。

我尝试过的事情:

取自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");
});

代码已经过简化,但你明白了。

2 个答案:

答案 0 :(得分:2)

正如您所提到的,数据是通过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");
});

答案 1 :(得分:0)

修正了将函数调用传递给.success ajax事件

的问题