读书人

extjs 不同组件,调用步骤Ext.getCmp(#039;

发布时间: 2012-09-20 09:36:50 作者: rapoo

extjs 不同组件,调用方法Ext.getCmp('id');

JScript code
//这里是一个绑定在grid双击事件上的一些代码,问题:这样大量使用id会不会有bug呢?好像有看到说尽量少用id这样的说法this.homePageConfigGrid.on('rowclick', function(grid, rowIndex, event) {                    var record = grid.getStore().getAt(rowIndex);                    me.homePageConfigForm.getForm().loadRecord(record);                    me.homePageConfigForm.buttons[0].setText('修改');                                        var _flagId = record.get('flag');                                        if( _flagId == '1' ){                        Ext.getCmp('flag1').checked = true;                    } else if( _flagId == '2' ){                        Ext.getCmp('flag7').checked = true;                    } else if(_flagId == '3'){                        Ext.getCmp('flag3').checked = true;                    } else if(_flagId == '4'){                        Ext.getCmp('flag4').checked = true;                    } else if(_flagId == '5'){                        Ext.getCmp('flag5').checked = true;                    } else if(_flagId == '6'){                        Ext.getCmp('flag6').checked = true;                    };                                    });-------------------------------------------------------//这里是form里央的那个单选框,有7种不同的选项{                                xtype : 'fieldset',                                checkboxToggle : true,                                hideLabels : true,                                autoHeight : true,                                defaultType : 'radio',                                title : '选择模块',                                items : [{                                            boxLabel : '顶部广告',                                            id : 'flag1',                                            name : 'flag',                                            inputValue : '1'                                        }, {                                            boxLabel : '右上角广告',                                            id : 'flag7',                                            name : 'flag',                                            inputValue : '7'                                        }, {                                            boxLabel : '幻灯片',                                            id : 'flag2',                                            name : 'flag',                                            inputValue : '2'                                        }, {                                            boxLabel : '推荐电影',                                            id : 'flag3',                                            name : 'flag',                                            inputValue : '3'                                        }, {                                            boxLabel : '活动图片',                                            id : 'flag4',                                            name : 'flag',                                            inputValue : '4'                                        }, {                                            boxLabel : '团购图片',                                            id : 'flag5',                                            name : 'flag',                                            inputValue : '5'                                        }, {                                            boxLabel : '影评',                                            id : 'flag6',                                            name : 'flag',                                            inputValue : '6'                                        }]                            }


求大牛们看看,提点建议,如果不用id这种方式用其他的什么方式比较好,简单一点最好,


[解决办法]
首先,没有要少使用id这回事
别人这样和你说主要是因为大量配置id可能一不小心就重复了,不配置id可以由ext分配能保证不重复。
你已经配置id了,使不使用不会有任何区别。



但你的写法也确实不高明
这样就ok了
var _flagId = record.get('flag');
Ext.getCmp('flag'+_flagId).chexked=true;


[解决办法]
ni 可以给你的fieldset设置一个ID啊(比如就叫test),

JScript code
var _flagId = record.get('flag');                                        if( _flagId == '1' ){                        Ext.getCmp('flag1').checked = true;                    } else if( _flagId == '2' ){                        Ext.getCmp('flag7').checked = true;                    } else if(_flagId == '3'){                        Ext.getCmp('flag3').checked = true;                    } else if(_flagId == '4'){                        Ext.getCmp('flag4').checked = true;                    } else if(_flagId == '5'){                        Ext.getCmp('flag5').checked = true;                    } else if(_flagId == '6'){                        Ext.getCmp('flag6').checked = true;                    }; 

读书人网 >JavaScript

热点推荐