2012-05-14 51 views
1

我想指望在Ext JS中選定的複選框。ExtJS的複選框算

如何算選中複選框,並在圖像中的區域shownbelow顯示它們。

感謝 enter image description here

回答

2

我同意沙。這是一個實際的例子:

var index = 0; 

var changeCounter = function (cb, nv, ov) { 
    if (nv) index++; 
    else index--; 
} 
Ext.create('Ext.form.Panel', { 
    bodyPadding: 10, 
    width: 300, 
    title: 'Pizza Order', 
    items: [ 
    { 
     xtype: 'fieldcontainer', 
     fieldLabel: 'Toppings', 
     defaultType: 'checkboxfield', 
     items: [ 
      { 
       boxLabel : 'Anchovies', 
       name  : 'topping', 
       inputValue: '1', 
       id  : 'checkbox1' , 
       listeners: { 
        change: changeCounter 
       } 
      }, { 
       boxLabel : 'Artichoke Hearts', 
       name  : 'topping', 
       inputValue: '2', 
       id  : 'checkbox2' , 
       listeners: { 
        change: changeCounter 
       } 
      }, { 
       boxLabel : 'Bacon', 
       name  : 'topping', 
       inputValue: '3', 
       id  : 'checkbox3' , 
       listeners: { 
        change: changeCounter 
       } 
      } 
     ] 
    } 
], 
bbar: [ 
    { 
     text: 'Get Counter' , 
     handler: function() { 
      alert (index); 
     } 
    } , 
    { 
     text: 'Select Bacon', 
     handler: function() { 
      Ext.getCmp('checkbox3').setValue(true); 
     } 
    }, 
    '-', 
    { 
     text: 'Select All', 
     handler: function() { 
      Ext.getCmp('checkbox1').setValue(true); 
      Ext.getCmp('checkbox2').setValue(true); 
      Ext.getCmp('checkbox3').setValue(true); 
     } 
    }, 
    { 
     text: 'Deselect All', 
     handler: function() { 
      Ext.getCmp('checkbox1').setValue(false); 
      Ext.getCmp('checkbox2').setValue(false); 
      Ext.getCmp('checkbox3').setValue(false); 
     } 
    } 
], 
renderTo: Ext.getBody() 
}); 

就拿這個代碼,去ExtJS API Doc for Checkbox和上述替換示例代碼:然後,推預覽,點擊按鈕「獲取計數器」。它確實是沙所說的。

Ciao

+1

你不應該給這種細節的答案。 OP顯然沒有在原始問題上投入太多精力,你的回答基本上會獎勵這樣的行爲:) – sha

+0

我會記住你對下一個問題的建議;)謝謝。 – Wilk

2

您可以將它們全部訂閱一個處理程序,並在處理程序做是否增加或減少基於價值。什麼似乎是一個問題?