2013-02-19 86 views
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' 
} 

我想要做的是根據第一個組合框中的選定項目將組合框應用於第二個組合框。例如,如果您選擇寵物小精靈,那麼第二個組合框應加載pokemonStore。您改變主意並選擇Smurfs,然後第二個組合框加載smurfsStore。如何將商店應用於ExtJS中的組合框?

我想學習的是如何將商店應用於現有的組合框。

回答

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; 
} 
+0

上面提到的例子的jsfiddle不工作 - 似乎外部資源被錯誤地添加。找到更新的例子與有效的分機resorces&frmwrk完美的作品。 http://jsfiddle.net/TpdeC/16/ – Srikanth 2014-08-06 06:03:02

+0

'bindStore'是這裏的重要調用 - 而不是'reconfigure'其他所有的東西 – 2015-04-02 11:20:50

相關問題