2014-11-05 58 views
1

如何在默認類型爲按鈕時獲取toggleGroup的值。 allowblank:false也不起作用。Ext JS - 默認類型爲按鈕時獲取toggleGroup的值

{ 
     xtype:'radiogroup', 
     fieldLabel: 'What is your title?', 
     layout:'hbox', 
     allowBlank:false, 
     defaultType: 'button',  
     id: 'titleSel', 
     defaults: { 
      enableToggle: true, 
      toggleGroup: 'titleGroup', 
      allowDepress: false, 
      width: '16.56%', 
      name: 'title', 
     },      
     items: [ 
      {text: 'Mr', value: 'Mr', inputValue: 'sfsf'}, 
      {text: 'Mrs', value: 'Mrs'}, 
      {text: 'Madam', value: 'Madam'}, 
      {text: 'Ms', value: 'Ms'}, 
      {text: 'Dr', value: 'Dr'}, 
      {text: 'Prof', value: 'Prof'},   
      ], 
     }, 
+0

你試過RadioGroup的getChecked()嗎? – 2014-11-05 13:45:39

+0

getChecked()沒有返回任何值。當我刪除 - defaultType:'button'時,我可以獲得提交按鈕的價值。基本上我試圖改變無線電看起來像按鈕一樣的感覺。 – 2014-11-05 14:13:16

+0

Ext.getCmp('titleSel')。getChecked() - 不返回任何值。 – 2014-11-05 14:14:34

回答

0
在ExtJS的5.x的

...你將不得不延長Ext.container.ButtonGroup類,然後在按鈕的默認處理程序綁定到一個自定義的變化事件監聽器......它獲取或者通過名稱或ID。

Ext.define('SomeApp.view.toggle.Titles', { 
    extend: 'Ext.container.ButtonGroup', 
    alias: ['widget.ToggleTitles'], 
    frameHeader: true, 
    title: false, 
    columns: 6, 
    width: 300, 
    height: 46, 
    border: 0, 

    defaults: { 
     enableToggle: true, 
     toggleGroup: 'titles', 
     handler: function(){ 
      this.up('buttongroup').fireEvent('change', this.name.replace('btn', '').toLowerCase()); 
     } 
    }, 

    items: [ 
     {tabIndex: 1, name: 'btnMr', text: 'Mr', pressed: true}, 
     {tabIndex: 2, name: 'btnMrs', text: 'Mrs'}, 
     {tabIndex: 3, name: 'btnMadam', text: 'Madam'}, 
     {tabIndex: 4, name: 'btnMs', text: 'Ms'}, 
     {tabIndex: 5, name: 'btnDr', text: 'Dr'}, 
     {tabIndex: 6, name: 'btnProf', text: 'Prof'} 
    ], 

    listeners: { 
     change: function(value){ 
      ... 
     } 
    } 

}