Как сохранить кнопку при изменении

1

Чтобы включить или отключить кнопку сохранения в extjs, я сделал простой пример:

var panelData = [first = 'true', second = "false"]
TestFormPanel = new Ext.form.FormPanel({
    title: 'TestPanel',
    data: panelData,

    buttons: [
        new Ext.Button({
            id: 'saveButton',
            text: 'save',
            scope: this,
            disabled: true,
            handler: function () {
                panelData = this.getForm().getValues();
                console.log(panelData);
            }
        })],
    defaults: {
        xtype: 'checkbox',
        listeners: [{
            check: function () {
                console.log('check');
                this.saveButton.enable();
            }
        }]
    },
    items: [
        {
            name: 'first',
            fieldLabel: 'first box'

        },
        {
            name: 'second',
            fieldLabel: 'second box'
        }
    ]
});

Ext.onReady(function () {
    console.log('started');
    TestFormPanel.render(document.body)
})

Событие проверки никогда не запускается. Я пробовал много других слушателей, таких как щелчок, спрятать или выбрать ни один из них. Хо, я могу обнаружить изменения в флажках?

Теги:
user-interface
extjs3

1 ответ

1
Лучший ответ

Я думаю, проблема в том, что в этом поле нет проверочного события. Попробуйте использовать событие изменения. Также я думаю, что нотация массива явная. Http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.form.field.Checkbox-event-change Это должно быть:

listeners: {
        change: function () {
            console.log('change event');
        }
    }
  • 0
    Правильно в обоих предложениях: без явной записи массива слушатель изменений не работает! большое спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню