ExtJs Cascading-Combos问题

问题描述:

我有一个问题(也许这将是我的错误,使用不正确的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); 
    }); 
}); 

在此先感谢您的任何建议!

在第一个组合选择处理程序中调用combo-2.store.clearFilter();以清除第二个组合内部筛选器,然后再更新它。

+0

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

对于其他人谁可能会发现这个问题,有对此处的代码链接的连击教程:

http://extjs.com/learn/Tutorial:Linked_Combos_Tutorial_for_Ext_2