2013-07-30 44 views
3

我有一個關於像300字段的員工屬性的巨大形式。多個Ajax調用

當管理員想要編輯員工屬性時,他們進入編輯頁面。該表格是從數據庫動態打印的。

用戶從下拉列表中選擇一個員工,可以將其稱爲dropdown1。然後使用綁定到dropdown1更改事件的jquery ajax調用從JSON數組填充表單。這樣,299個字段被正確填充。

但是,該表單包含2個以上的下拉菜單。讓我們稱他們爲dropdown2和dropdown3。

從數據庫加載頁面時會填充Dropdown2。

Dropdown3與dropdown2相關。當dropdown2更改時,dropdown3的列表會使用不同的onchange ajax函數進行更改。最初,在頁面加載dropdown3只有一個列表「選擇」。

時dropdown1變化,在表單中的每個字段填充除了下拉我的問題是3

我想要的是,當使用jQuery Ajax調用在dropdown2選擇的變化,

  1. dropdown3應該根據下拉列表中的值填充2 - 基本上,包含dropdown2的html應該更改(在另一個Ajax調用中的ajax調用?

  2. 正確值應該在dropdown2被選中(如果1部作品我認爲我能勝任這個部分)

我道歉,如果我的問題是非常漫長的,我一直沒能正確解釋。

$(document).ready(function(){ 
    $("#adminobj0zb").delegate("#sel10", "change", function(e){ 
     $.getJSON("editempajax2.php?empid=" + $("#sel10").val(), 
     function(data){ 
      $.each(data, function(i, item){ 
       if(item.field == "fname"){ 
        $("#sel2").val(item.value); 
        //Here Make Second Ajax call and change content of div containing sel3 ... how ? 
       } 
       if(item.field == "mname"){ 
        $("#sel3").val(item.value); 
       } 
      }); 
     }); 
    }); 
}); 
+0

你可以分享你當前的代碼?你的意思是「下拉2應該根據dropdown2中的值填充」? –

+0

這沒有意義,爲什麼你甚至告訴我們關於下拉1和3.除非這個句子是一個錯字「dropdown2應該根據dropdown2中的值填充」 –

+4

'在另一個Ajax調用中的ajax調用? Ajaxception!? – webnoob

回答

1

這是可能的。您可以將AJAX呼叫作爲第一個呼叫的回撥。

$.ajax({ 
    url:"/echo/json/", 
    data:xdata, 
    type:"POST", 
    success: function(data) { 
     $.ajax({ 
      // config 
      success: function(data2) {}; // do your stuff 
     }); 
    } 
}); 

如果需要多個AJAX調用simultanously,你暫緩對象卡恩工作:jQuery Deferred - getting result of chained ajax calls

+0

謝謝Zim84!就jquery和ajax而言,我的知識非常有限。我將編輯我的問題並顯示我正在使用的代碼。請等幾分鐘:) – user2115154

+0

無論如何他應該使用延遲對象 - 他們避免深度嵌套的回調地獄。 – Alnitak