浏览 10108 次
锁定老帖子 主题:Ext中动态改变控件的readOnly属性
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-04-24
最后修改:2009-06-18
Ext 控件的readOnly属性是可以在控件初始化过程中配置的, 但是如果希望在运行时动态更改其readOnly属性怎么办, 例如 textField 控件,Ext2.x 的 API 上 它的方法有setDisabled
(
假设 某个textField, 它的 id = 'txt',
1. Ext.getCmp('txt').readOnly = false; 结果是这么写虽然可以更改控件的readOnly属性值, 但页面上的控件并没有变的可以修改。 2. 正确方法是这样的:Ext.getCmp("txt").getEl().dom.readOnly = false; 这样就行了。
问题虽小, 但是如果遇到却让人很恼火。 不知道为什么Ext不像Disabled一样提供一个setReadOnly()方法。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-04-25
holdbelief 写道
1. Ext.getCmp('txt').readOnly = false; TextField可没有readOnly属性,所以这个语句并没有起到作用,仅是加上你的自定义属性readOnly |
|
返回顶楼 | |
发表时间:2009-04-27
TextField有readOnly属性, 没错的
|
|
返回顶楼 | |
发表时间:2009-04-29
这个是以GridPanel为例:
this.editGrid.on("beforeedit", Folder.beforeedit, this.editGrid ); beforeedit : function(editorGridPanel){ var editorGrid = Folder.editGrid; var folderNameValue = editorGridPanel.record.get("folderName"); var folderNameIndex = editorGrid.getColumnModel().getIndexById("folderName"); if (folderNameValue =='Inbox' || folderNameValue =='Draftbox' || folderNameValue == 'Outbox' || folderNameValue == 'TrashMailbox' || folderNameValue == 'Garbage'){ editorGrid.getColumnModel().getCellEditor(folderNameIndex,0)=new Ext.form.TextField({value: folderNameValue,readOnly:true}); } } |
|
返回顶楼 | |
发表时间:2009-04-30
引用 </head> <body> <input type='button' value="button" onclick="clickButton()" /> </body> </html> <script language="javascript" > var input = new Ext.form.TextField({ width : 200, renderTo : document.body }) function clickButton(){ input.el.dom.readOnly = true; } </script> 这样就可以动态的改变readOnly的属性 |
|
返回顶楼 | |
发表时间:2009-07-30
如何更改ComboBox的readonly属性!
|
|
返回顶楼 | |
发表时间:2009-07-30
aother4430 写道 如何更改ComboBox的readonly属性! 如何更改ComboBox的readonly属性! |
|
返回顶楼 | |
发表时间:2009-09-08
Ext.getCmp("txt").getEl().dom.readOnly = false;
为什么我按照lz的方法提示错误说Ext.getCmp("txt").getEl().dom不是对象呢 |
|
返回顶楼 | |