Сенсорный сенсорный флажок выберите на ярлыке нажмите - PullRequest
2 голосов
/ 04 октября 2011

У меня в приложении есть несколько флажков:

http://img846.imageshack.us/img846/7397/628bc474d4904ff2993df81.png

Теперь я хочу включить / выключить выделение при нажатии на ярлыки.

Есть идеи?

Ответы [ 3 ]

5 голосов
/ 06 июня 2012

Если вы хотите добиться того же в Sencha Touch 2, вы можете использовать следующее для радиополей или флажков:

defaults: {
    xtype: 'radiofield',
    name: 'fieldname',
    listeners: {
        // Adding listener for tap event on label element,
        // this should toggle the checkbox.
        "tap": {
            element: "label",
            fn: function () {
                var me = this;
                me.setChecked(!me.isChecked());
            },
        }
    }
}

РЕДАКТИРОВАТЬ: По-видимому, событие "click" должно быть "tap", согласно @jayteejee. Соответственно изменил первоначальный слушатель «щелчка» на слушателя «касания».

3 голосов
/ 04 октября 2011

Используйте это для добавления прослушивателя к элементу метки.

{
    id: 'username',
    xtype: 'checkboxfield',
    name : 'username',
    label: 'User Name',
    listeners:{
        labelEl:{
           tap:function(){
              var obj = Ext.getCmp('username');
             if(obj.isChecked()){
                    obj.uncheck();
              }else{
                    obj.check();
              }
           }
        }
    }
}
1 голос
/ 04 февраля 2013

Thijs 'ответ работал хорошо с незначительной корректировкой, чтобы заставить его работать на Android и iOS с Sencha Touch 2. Просто измените "click" на tap :

{
    xtype: 'checkboxfield',
    name: 'fieldname',
    label: 'Label',
    listeners: {
        tap: {
            element: "label",
            fn: function () {
                this.setChecked(!this.isChecked());
            }
        }
    }
}
...