1

我有一个问题(可能是我错误地使用了 ExtJs,我希望这样做)使用 ExtJs 在表单中执行级联组合。这是这种情况:

  1. 我有 3 个组合,区域,地区,城市
  2. 当我按顺序单击其中一个时,相关的将被更新,使用 Json 作为数据格式发出 ajax 请求(所以即使我认为它没有用,序列是正常序列 Zones -> Regions -> Cities )
  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);
    });
});

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

4

2 回答 2

1

对于可能会发现此问题的其他人,这里有一个关于如何编码链接组合的教程:

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

于 2009-05-17T09:03:43.283 回答
0

combo-2.store.clearFilter();在更新之前调用第一个组合选择处理程序以清除第二个组合内部过滤器。

于 2009-05-01T10:24:11.953 回答