做这个效果是应公安局他们要求,需要一个能有下拉提示带记忆功能并且可输入的文本框,,技术差,只能想到这个东西 ,磨了好久终于勉强可以,算是摸索吧,有逻辑错误的地方或者更精简的方法希望多多提出来,谢谢
}); var cb= new Ext.ux.ComboBox({ queryParam : 'name',//查询的名字 allQuery:'allname',//查询全部信息的查询字符串 loadingText : '正在加载通知单位信息',//加载数据时显示的提示信息 minChars : 1,//下拉列表框自动选择前用户需要输入的最小字符数量 queryDelay : 1000,//查询延迟时间 triggerAction: 'all',//单击触发按钮显示全部数据 store : store,//设置数据源 displayField:'TZDW',//定义要显示的字段 valueField:'Aid', //id字段 mode: 'remote',//远程模式, transform:'TZDW_Type',//转换成为combobox,之前是用层,但层有时候会和其他JS冲突,测试过 typeAhead:true, hiddenName:'Aid' //后台要接收的值 }); //cb.setValue("<%=TZDW.Value %>");---(赋值)修改时候把这句放出来就行~~,只需要丢一个参数进来即可 cb.on('blur',function() {this.setValue(this.el.dom.value)} ) });
fields : ['TZDW','Aid']后面加上这一句:, data:[['','']]是为了防止数据库没有值的情况能给他一个固定格式的空值。。才好插入你想要的值,因为后台接收是request这个下拉框的id值输入的时候有一个格式他会自动把他放进去,这样子才能获取得到,心里也没什么谱,只能说有个大体上的概念,理解不太深刻。
还有一点希望高手能指教:就是我的store我都是一个文本框用一个一般处理程序去加载他,。这样子写觉得好傻,很想优化一下他,但不知道从何下手,,思想 是有,但有点难以下手希望能得到大家的指点谢谢~~
关于多个combobox共享一个一般处理程序的参数问题:再此多谢( :) 呼呼小跑 34638822)前辈
listeners:{focus:function(){this.store.load({params:{type:'BYLA'});}}
type:后面对应参数 如果要参数也是一个变量那就要传一个object类型的变量
我一般直接在一般处理程序里面定义好switch(context.request["type"])然后去case:''不同的参数即可~~
这是前辈提供的传参例子
var pobj = new Object();eval("pobj.metaName='"+queryForm.metaName+"';");Ext.getCmp(queryForm.metaCode + '_grid').getStore().load( { params: pobj});
eval(。。。。。)可以通过这样的方式,添加任意需求的参数表
心得共享出来希望能帮助别人