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' );
}});
}});
}});