Сделайте функцию, чтобы включить / отключить комбобокс ExtJS - PullRequest
1 голос
/ 22 октября 2019

У меня есть следующие компоненты формы в Ext JS, эти два компонента являются комбинированным списком, и мне нужно, чтобы при выборе первого комбинированного списка (type_sector) включился второй комбинированный список (main_sector).

{
                xtype: 'combobox',
                name: 'type_sector',
                fieldLabel: 'Setor',
                displayField: 'name',
                valueField: 'id',
                labelAlign: 'top',
                flex: 1,
                margin: { left: 3 },
                store: 'EconomicActivityType',
                width: 80,
                editable: false,
                queryMode: 'local',
            },
            {
                xtype: 'combobox',
                name: 'main_sector',
                fieldLabel: 'Principal',
                displayField: 'name',
                valueField: 'id',
                labelAlign: 'top',
                margin: { left: 3},
                store: 'EconomicActivityType',
                inputWidth: 200,
                editable: true,
                queryMode: 'local',
            }

Я хочу создать функцию, которая, если значение combobox (type_sector) равно x для каждого примера, включает combobox (main_sector), в противном случае оно скрыто / отключено. Как я могу сделать это внутри формы в Ext JS?

Я пытаюсь сделать это следующим образом:

{
                    xtype: 'combobox',
                    name: 'type_sector',
                    fieldLabel: 'Setor',
                    displayField: 'name',
                    valueField: 'id',
                    labelAlign: 'top',
                    flex: 1,
                    margin: { left: 3 },
                    store: 'EconomicActivityType',
                    width: 80,
                    editable: false,
                    queryMode: 'local',
                    id: "type_sector_combo",
                    listeners:{select:{fn:function() {
                                if (this.getComponent('type_sector_combo').value == "sector"){
                                    this.getComponent('main_sector_combo').disable = false;
                                }
                            }}}
                },
                {
                    xtype: 'combobox',
                    name: 'main_sector',
                    fieldLabel: 'Principal',
                    displayField: 'name',
                    valueField: 'id',
                    labelAlign: 'top',
                    margin: { left: 3},
                    store: 'EconomicActivityType',
                    inputWidth: 120,
                    editable: true,
                    queryMode: 'local',
                    id: "main_sector_combo",
                    disabled: true
                }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...