まず、javascript の基本を確認する必要があると思います...それが理解できたら、sencha の例とチュートリアルを見てください。
ビューには、チェックボックス コンポーネントがあります。
コントローラーでは、変更イベントをリッスンします
その値が必要なコントローラーに別の関数がある場合は、それを変数として必要な関数に渡すか (=basic javascript)、チェックボックス コンポーネントを取得してgetValue()メソッドを呼び出します。
以下に例を示します:
http://jsfiddle.net/Vandeplas/fDces/
//Defining a Controller
Ext.define('AM.controller.Pizza', {
extend: 'Ext.app.Controller',
init: function () {
this.control({
'viewport > panel': {
render: this.onPanelRendered
},
'checkbox': {
change: this.onCheckChange
},
'button[action=orderPizza]' : {
click: this.onOrderPizza
}
});
},
onCheckChange: function (checkbox, newValue, oldValue, eOpts) {
console.log(newValue ? 'you checked ' + checkbox.boxLabel : 'you unchecked ' + checkbox.boxLabel);
},
onOrderPizza: function(button, e, eOpts){
var checkboxes = button.up('form').query('checkbox');
Ext.each(checkboxes, function(chk){
console.log(chk.boxLabel + ': ' + chk.getValue());
});
},
onPanelRendered: function () {
console.log('The panel was rendered');
}
});
//Defining a View
Ext.define('AM.view.CheckForm', {
extend: 'Ext.form.Panel',
alias: 'widget.checkform',
title: 'Choose toppings',
initComponent: function () {
this.items = [{
xtype: 'fieldcontainer',
fieldLabel: 'Toppings',
defaultType: 'checkboxfield',
items: [{
boxLabel: 'Anchovies',
name: 'topping',
inputValue: '1',
id: 'checkbox1'
}, {
boxLabel: 'Artichoke Hearts',
name: 'topping',
inputValue: '2',
checked: true,
id: 'checkbox2'
}, {
boxLabel: 'Bacon',
name: 'topping',
inputValue: '3',
id: 'checkbox3'
}]
}, {
xtype: 'button',
text: 'Order',
action: 'orderPizza'
}];
this.callParent(arguments);
}
});
//Creating the application
Ext.application({
requires: ['Ext.container.Viewport'],
name: 'AM',
appFolder: 'app',
controllers: ['Pizza'],
launch: function () {
Ext.create('Ext.container.Viewport', {
layout: 'fit',
items: [{
xtype: 'checkform'
}]
});
}
});