0

好的,所以我在第一次调用完成后尝试启动 ajax 调用。我有一个带有 3 个下拉菜单的表单。第一个菜单 onload 运行脚本以返回值。然后我想将 vale 输入第二个脚本并运行脚本来填充第二个第三个菜单。

第二个下拉列表填充第一个的 onChange。这很好用。然后,我希望将该馈送的结果输入到第三个下拉列表中。我知道我的外部查询是正确的,我只是认为 ajax 是错误的。这是我的 Ajax 调用....

<script type="text/javascript" charset="utf-8">

jQuery(document).ready(function() {
jQuery('#networks').trigger('change');
});




function get_cities(networks)
{
$.ajax({
   type: "POST",
   url: "select.php", 
   beforeSend:  function () {
  $("#folder").html("<option>Loading ...</option>");
    },
   data: "idnetworks="+networks +"&par="+ <?php echo $row_rs_doc['parentid']; ?>,


   success: function(msg){
     $("#folder").html(msg);
   }



   });



} 
</script>
<script type="text/javascript" charset="utf-8">

jQuery(document).ready(function() {  
jQuery('#folder').trigger('change');
});

function get_sub(folder)
{
$.ajax({
   type: "POST",
   url: "select2.php", 
   beforeSend:  function () {
  $("#subfolder").html("<option>Loading ...</option>");
    },
   data: "iddocs="+folder,


   success: function(msg){
     $("#subfolder").html(msg);
   }



   });



} 
</script> 

好的,这是表单字段

<select name="networks" id="networks" onChange='get_cities($(this).val())'>
   <?php create(network, networkid, netname);?>
  </select>

<select name="folder" id="folder" onChange='get_sub($(this).val())'>


</select>

<select name="subfolder" id="subfolder">


</select>
4

2 回答 2

1

亲吻它。只需将第二个 ajax 调用放在success第一个调用中

于 2012-07-19T10:51:46.153 回答
0

您可以使用延迟对象,这将允许您启动其他操作,而无需重写现有的事件处理程序,也无需过多地嵌套代码:

var req1 = $.ajax(...);

req1.done(function() { ... } );  // start your second request
于 2012-07-19T10:53:24.473 回答