В Ext.js меняется значение checkboxgroup - PullRequest
0 голосов
/ 08 января 2019

Я написал следующее:

{
    xtype: "checkboxgroup",
    fieldLabel: "Content type",
    name: "content_type",
    id: "fx-form-content_type",
    rows: 1,
    value: 0,
    editable: false,
    forceSelection: true,
    queryMode: "local",
    horizontal: true,
    hidden: false,
    listeners: {
        change: function(cmp, value) {

            //console.error(cmp.down("checkbox[inputValue=1]"));
            //console.error(cmp.down("checkbox[inputValue=0]"));

            //var vod_or_npvr = value["content_type_vod_or_npvr"];
            console.error(cmp);
            console.error(value);
            /*
            if(vod_or_npvr === 0)
            {
                Ext.getCmp("fx-form-content_type").setValue(2);
            }

            else if(vod_or_npvr === 1)
            {
                Ext.getCmp("fx-form-content_type").setValue(1);
            }
            else if(vod_or_npvr === [1,0])
            {
                Ext.getCmp("fx-form-content_type").setValue(0);
            }
            else {
                Ext.getCmp("fx-form-content_type").setValue(3);
            }*/

        }
    },
    items: [{
        xtype: "checkboxfield",
        fieldLabel: "VOD",
        checked: false,
        //name      : "content_type_vod_or_npvr",
        inputValue: 1,
        id: "fx-form-content_type-VOD",
        value: 1,
        labelWidth: 40
    }, {
        xtype: "checkboxfield",
        fieldLabel: "NPVR",
        checked: false,
        //name      : "content_type_vod_or_npvr",
        inputValue: 0,
        id: "fx-form-content_type-NPVR",
        value: 2,
        labelWidth: 40
    }]
}

Как я могу изменить значение checboxgroup?

Мне нужно, чтобы это увяло обоих checboxes, ни одного, ни одного из них. Я пытаюсь сделать это с помощью прослушивателя изменений и функций setValue, но это не работает. Кто-нибудь может понять, как это сделать?

1 Ответ

0 голосов
/ 08 января 2019

Вы можете использовать CheckboxGroup.setValue(false) для сброса всех элементов этого или если вы хотите сбросить определенные элементы, тогда просто используйте CheckboxGroup.down(your item here), а затем снова используйте .setValue(false).

Вы можете проверить здесь с рабочим Сенча Fiddle .

Фрагмент кода

Ext.application({
    name: 'Fiddle',

    launch: function () {
        Ext.create({
            xtype: 'form',
            title: 'Checkbox Group',
            width: '100%',

            bodyPadding: 10,
            renderTo: Ext.getBody(),
            bbar: ['->', {
                text: 'Reset All',
                handler: function () {
                    var checkboxgroup = this.up('form').down('checkboxgroup');
                    checkboxgroup.setValue(false)
                }
            },{
                text: 'Reset Item 2',
                handler: function () {
                    var checkboxgroup = this.up('form').down('checkboxgroup');
                    checkboxgroup.down('[inputValue=2]').setValue(false)
                }
            }],

            items: [{
                xtype: 'checkboxgroup',
                fieldLabel: 'Two Columns',
                // Arrange checkboxes into two columns, distributed vertically
                columns: 2,
                vertical: true,
                items: [{
                    boxLabel: 'Item 1',
                    name: 'rb',
                    inputValue: '1'
                }, {
                    boxLabel: 'Item 2',
                    name: 'rb',
                    inputValue: '2',
                    checked: true
                }, {
                    boxLabel: 'Item 3',
                    name: 'rb',
                    inputValue: '3'
                }, {
                    boxLabel: 'Item 4',
                    name: 'rb',
                    inputValue: '4'
                }, {
                    boxLabel: 'Item 5',
                    name: 'rb',
                    inputValue: '5'
                }, {
                    boxLabel: 'Item 6',
                    name: 'rb',
                    inputValue: '6'
                }]
            }]
        });
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...