2009-04-30 41 views
1

我有一個問題(也許這將是我的錯誤,使用不正確的ExtJs,我希望我會這樣做)使用ExtJs做一個窗體中的級聯組合。情況是這樣的:ExtJs Cascading-Combos問題

  1. 我有3個連擊,區域,地區,城市
  2. 當我爲了點擊其中一個,相關一個將作出使用JSON作爲數據格式(Ajax請求更新所以即使我認爲這是沒有用的,順序是正常順序區 - >地區 - >城市)
  3. 即使它不是那麼重要了,我在一個ASP.NET MVC後端

當我作爲我的第一個操作時,首先點擊後代,然後點擊父級,例如,如果我只是在區域之前打開,然後打開區域,選擇一個我希望它會填補區域..但沒有任何反應。 在這種情況下,ajax請求也正確完成,並且生成的Json數據返回的結果與返回的「如果我尊重點擊順序(區域 - >區域)」相同。

讓我說,如果當我第一次進入頁面,並且我做了正常的點擊順序時,一切都很順利,但是當我改變點擊順序時,正如我之前所說的,事情不會永遠不會工作更多。

我們使用做到這一點的代碼是:

var RegionsStore = new Ext.data.JsonStore({ 
           url:'/mypath/blabla', 
           fields:['Value','Text'] 
        }); 
Ext.onReady(function() { 
    Ext.getCmp('ext-Area').on('select', function(sender, item) { 
     var target = Ext.getCmp('ext-Regions'); 
     target.setDisabled(true); 
     target.setValue(''); 
     target.store.removeAll(); 
     target.displayField = 'Text'; 
     target.valueField = 'Value'; 
     target.store = RegionsStore; 
     target.store.reload({ 
       params: { 
        data: 'regions', 
        discriminator: 'area', 
        value: sender.getValue() 
       } 
     }); 
     target.setDisabled(false); 
    }); 
}); 

在此先感謝您的任何建議!

回答

0

在第一個組合選擇處理程序中調用combo-2.store.clearFilter();以清除第二個組合內部篩選器,然後再更新它。

+0

您的解決方案仍然無法正常工作...... – Hoghweed 2009-05-05 09:18:26