0

さて、最初の呼び出しが完了した後にajax呼び出しを開始しようとしています。3つのドロップダウンメニューがあるフォームがあります。最初のメニューonloadは、スクリプトを実行して値を戻します。次に、値を2番目のスクリプトにフィードし、スクリプトを実行して2番目の3番目のメニューにデータを入力します。

2番目のドロップダウンは、最初のドロップダウンの変更時に表示されます。これはうまくいきます。次に、そのフィードの結果を3番目のドロップダウンに入れたいと思います。外部クエリが正しいことはわかっていますが、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

それにキスして。2番目の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 に答える