论坛首页 Web前端技术论坛

ExtJS类ComboBox效果——ExtJS学习之旅

浏览 3443 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (4) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-04-19   最后修改:2011-02-16

ExtJS高级应用:ExtJS类ComboBox效果

ExtJS学习之旅:目录   上一篇:  下一篇:

 

ComboBox的效果很不错,扩展了TriggerField打造一个可以包装任意Ext.Component对象的ComboBox效果:

测试页面

svn checkout http://cms4g.googlecode.com/svn/trunk/gae cms4g-read-only

原理:参考DateField,DateField利用了DateMenu,记得Menu原来有一个AdapterMenu,v3.2.0版本里面没有,不过可以直接使用 Menu 的items就可以了!

 

onTriggerClick : function(){
    	if (this.disabled || !this.content) return;
    	if (!this.menu) {
    		this.menu = new Ext.menu.Menu({width: this.getWidth(), plain: true, items: [this.content]});
    		this.content = this.menu.getComponent(0);
    		this.content.on('selectionchange', this.selectionchange, this);
    	}
    	this.menu.show(this.getEl(), 'tl-bl?');
    	this.content.selectCombo(this, this.value);
    }

 然后剩下的就是content需要提供即可方法:

  • selectCombo 根据字段值 标记合适的元素为选择
  • getCombo根据字段值 获取元素对象{id: '用于getValue()返回', text: '用于显示'}
  • selectionchange(contentValue) 当选择的元素发生改变时需要content触发一个事件‘selectionchange‘

通过此扩展可以做任何TriggerField的东西了^ ^

   发表时间:2010-07-31  
今天又把它翻出来放入自己的项目中
注意到有4个新手投票?
首先感谢大家,希望投票时同时给于我建议就更好了
^ ^
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics