1
{
    fieldLabel: 'Tip',
    name: 'SubjectType',
    allowBlank: false,
    xtype: 'combo',
    displayField: 'name',
    valueField: 'type',
    typeAhead: true,
    forceSelection: true,
    queryMode: 'local',
    store: subjectTypeStore,
    listeners: {
        select: function(a,selected,c){
            //console.log(a);
            var tets = selected[0].data.type;
            console.log(tets);
            //console.log(c);
        }
    }
},
{
    name: 'SubjectID',
    allowblank: false,
    xtype: 'combo',
    displayField: 'name',
    valuefield: 'name',
    typeAhead: true,
    forceSelection: true,
    queryMode: 'local'
}

我想要做的是根据第一个组合框中的选定项将组合框存储应用到第二个组合框。例如,如果您选择 Pokemons,那么第二个组合框应该加载 pokemonStore。您改变主意并选择 Smurfs,然后第二个组合框加载 smurfsStore。

我想学习的是如何将商店应用到现有的组合框。

4

1 回答 1

4

这是一个简单的示例JSFiddle

select: function(checkbox,records) {
      comp.clearValue();
      comp.bindStore(Ext.StoreMgr.lookup(records[0].data.store));
      // you can change the value field if needed
      comp.displayField = 'petname'; 
      // you can change the display field if needed
      comp.valueField = 'id'; 
      // you can change the display template if needed
      comp.displayTpl = new Ext.XTemplate(
          '<tpl for=".">' +
              '{[typeof values === "string" ? values : values["' + comp.displayField + '"]]}' +
              '<tpl if="xindex < xcount">' + comp.delimiter + '</tpl>' +
          '</tpl>'
      );
      comp.picker = null;
 }
于 2013-02-19T13:27:18.620 回答