Jquery 如何在没有设置超时的情况下加载值?

Jquery 如何在没有设置超时的情况下加载值?,jquery,ajax,settimeout,Jquery,Ajax,Settimeout,请看以下示例: <select id="connection" onchange="load_databases_of_this_connection();"></select> <select id="database" onchange="load_tables_of_this_database();"></select> <select id="table" onchange="load_columns_of_this_table();

请看以下示例:

<select id="connection" onchange="load_databases_of_this_connection();"></select>
<select id="database" onchange="load_tables_of_this_database();"></select>
<select id="table" onchange="load_columns_of_this_table();"></select>
<input id="fieldcode" type="text"/>
<input id="fieldcolor" type="text"/>
<script type="text/javascript" language="javascript">

$('#connection').change();

setTimeout("x()",2000 ); // select database and load tables

function x() {
        $('#database').val( 'main_database' );
 $('#database').change();
 setTimeout("t()",2000 );   //  select table and load columns
}


function t() {
 $('#table').val( 'payments' );    
 $('#table').change();
 setTimeout("a()",2000 ); // select columns
}

function a() {
 $('#fieldcode').val( 'code' );
 $('#fieldcolor').val( 'status' );
}

</script>

请帮忙

我假设您的代码中包含的内容超出了我们的想象,如果是这样的话,那么这应该可以解决问题:

$('#connection').change(function(){
    $('#database').val('main_database');
}); 
$('#database').change(function(){
    $('#table').val('payments');    
}); 
$('#table').change(function(){
    $('#fieldcode').val( 'code' );
    $('#fieldcolor').val( 'status' );
});
我很容易解决

$.ajax( {complete:function() {

    $('#database').val('main_database');

    $.ajax( {complete:function() {

        $('#table').val('payments');   

            $.ajax( {complete:function() { 

                $('#fieldcode').val( 'code' );
                $('#fieldcolor').val( 'status' );
            }});
    }});
}});

这里的旁注是
setTimeout(“x()”,2000)
应该只是
setTimeout(x,2000)只需传递对函数的引用,而不是字符串(除非没有其他选项)。
$('#connection').change(function(){
    $('#database').val('main_database');
}); 
$('#database').change(function(){
    $('#table').val('payments');    
}); 
$('#table').change(function(){
    $('#fieldcode').val( 'code' );
    $('#fieldcolor').val( 'status' );
});
$.ajax( {complete:function() {

    $('#database').val('main_database');

    $.ajax( {complete:function() {

        $('#table').val('payments');   

            $.ajax( {complete:function() { 

                $('#fieldcode').val( 'code' );
                $('#fieldcolor').val( 'status' );
            }});
    }});
}});