EXTJS提供的COMBOX有一个自动完成的功能 ,就是你只要输入头几个字,那么以这几个字开头的所有列表项都会显示出来供你选。但是有一个缺陷,就是COMBOX只会按照头几个字严格去匹配, 而如果想模糊查询,就不行了。
比如,我有一个保存了所有客户公司名称的COMBOX,我记不得某个公司的全名,但我知道这个公司大概叫“百邦”,那么我只要在COMBOX中输入“百邦”,即可查出所有包含“百邦”的公司。实现代码如下。
//combox用到的store
comboxVendorStore=new Ext.data.JsonStore({
url:'/pcms/dictionary/vendor.do?method=find',
root:'Datas',
totalProperty: 'TotalRecords',
fields:[
{name:'vendorId', mapping:'vendorId'},
{name:'shortName', mapping:'shortName'}
]
});
var PagevendorCombox=new Ext.form.ComboBox({
name:'vendorId',
fieldLabel:'供货单位',
store: comboxVendorStore,
displayField:'shortName',
valueField:'vendorId',
emptyText:'请选择',
width:160,
listWidth:400,
minHeight:100,
editable:true,
allowBlank:false,
mode:'local',
loadingText:'loading...',
hiddenName:'vendorId',
selectOnFocus: true,
triggerAction:'all',
enableKeyEvents:true,
listeners:{
keypress:function(t,e){
//这里判断空格,即输入“百邦”后,敲击空格键才进行查询,防止无条件的查询拖累服务器。
if(e.getKey()==e.SPACE){
comboxVendorStore.load({params:{query:PagevendorCombox.getEl().getValue(),start:0,limit:100000}});//这里取Combox内容的方法需要注意,是用HTML元素的方式去取。取后通过query传递给后台,这个query参数里放的就是“百邦”两字,后台根据此进行模糊查询并返回相应的结果。
}
}
}
});
comboxVendorStore.load({params:{start:0,limit:100000}});
分享到:
相关推荐
Ext中使用combox实现模糊查询,内附详细代码与图片!
c#实现简单的combox自动搜索功能,类似百度的搜索输入框功能
combox根据输入自动查询 挺牛的 有很多功能
利用 CCombobox 实现百度,google自动匹配,当用户在输入框输入内容时,在下拉框中自动提示与用户输入内容相匹配的项,供用户选择。MFC没有自动提示输入的控件,因此用CComboBox实现,在编程过程中会遇到一些问题,...
winform combobox 模糊查询
灵活:数据源、下拉框内显示的列、列名、可搜索关键字等可自由定义 方便:可输可选/支持键盘操作/模糊过滤/自动完成匹配 标准:通过继承combobox实现,可单独使用,也可嵌入datagridview使用 感谢“随风飘散”
C#COMBOX控件绑定数据库查询值,将数据库查询的值绑定到combox控件上,显示给人看
可以实现vb的Combox自动下拉,用了别人的代码修改了一下。
C# 带查询功能自动提示的ComBox下列框控件 C# 带查询功能自动提示的ComBox下列框控件
ext combox自动提示 仿百度式自动提示
下拉框模糊查询-combo-select-master,实现下拉框的模糊查询
VS2015 MFC Oracle11 Combox 下拉列表 连接数据库 自动补全
combox的栏数如何生成?
支持TOOLTIP的COMBOX,C#版本(该版本存在一定的问题,请下载资源中的其它相关资源)
combox下拉树combox下拉树combox下拉树combox下拉树combox下拉树combox下拉树combox下拉树
ComBoxGrid(Combox增强网格下拉框控件(支持鼠标滚轮))
非常不错的“组合框的自动查询”技术,实现自动查找和匹配
Winform中的ComBox控件实现换行 当文本长度达到最大时实现换行
combox 实现搜寻功能combox 实现搜寻功能