选中一个复选框组中的复选框,或者在另一个复选框组中隐藏具有相同值的复选框

时间:2013-07-21 21:18:27

标签: javascript extjs extjs4 extjs4.1 extjs4.2

我有一个ExtJS窗口,其中有两个单独的面板checkboxgroups
它们都显示相同的值,但用户无法从checkboxgroups选择相同的项目。

当用户在另一个ckeckboxgroup's中选择已选择的值时,我想处理这个有点不仅仅是检查并警告两个checkboxgroup侦听器中的警告的人。

为了避免提醒,我想要隐藏或禁用该框。

我尝试添加 hidden:true disabled:true ,但没有运气:

Ext.create('widget.window', 
{
    title       : 'Select a value',
    draggable   : true,
    modal       : true,
    closable    : true,
    closeAction : 'destroy',
    width       : 400,
    height      : 350,
    layout: 
    {
        type  : 'hbox',
        align : 'stretch'
    },
    items : 
    [{
        xtype      : 'panel',
        title      : 'Success',
        autoScroll : true,
        flex       : 1,
        items      :
        [{
            xtype     : 'checkboxgroup',
            itemId    : 'success',
            columns   : 1,
            vertical  : true,
            items     : yes_checkbox,
            listeners : 
            {
                change: function(field, newValue, oldValue, eOpts)
                {
                    // newValue.rb
                }
            }
        }] 
    },
    {
        xtype      : 'panel',
        id         : 'panel_failure',
        title      : 'failure',
        autoScroll : true,
        flex       : 1,
        items      :
        [{
            xtype     : 'checkboxgroup',
            itemId    : 'failure',
            columns   : 1,
            vertical  : true,
            items     : no_checkbox,
            listeners : 
            {
                change: function(field, newValue, oldValue, eOpts)
                {
                    // newValue.rb

                }
            }
        }],

    }],
});

我试图在panel_failed听众中获取Ext.getCmp('panel_failed').items.add(//something here) change但我无法弄清楚add()是否正确方法,如果是,在函数内写入的格式是什么。

由于

1 个答案:

答案 0 :(得分:1)

您可以定义所有复选框中的itemId,然后使用setDisabled(true)轻松选择和停用它们。