第一次输入关键字
第二次输入关键字
第三次接收键盘向下键默认选择所有结果
/*----------------------------------------------------------------*/
/*
*模仿google的联想输入,“多关键字独立联想”,支持每个关键字独立后台查询检索,
*目前网上大多都是多个关键字联合匹配。本例每输入一个关键字都是针对本关键字独立提交后台进行查询检索。
*最后结束输入后输入框内所有关键字作为联合查询条件进行检索。
*例如:在输入框中输入“M”会显示所有包含“M”的查询结果;
在选择关键字之后自动追加“;”作为多个关键字的分隔符;
继续输入“K”的时候“beforequery”事件将“K”作为本次模糊匹配条件作为“query”的值提交到服务器端查询。
*/
var temp='';
var search = new Ext.form.ComboBox({
id:'searchCom',
store: this.gatewaystore,
displayField:'gatewayname',
//valueField:'gatewayid',
hiddenName:'GATEWAYRevh',
typeAhead: false,
mode : 'remote',
loadingText: 'Searching...',
width: 170,
pageSize:10,
triggerAction:'query',
lastQuery:'',
hideTrigger:true,
minChars:0,
selectOnFocus:true,
//tpl: resultTpl,
//triggerAction: 'all',
emptyText:'请选择...',
//value:'%17',
//applyTo: 'search',
//itemSelector: 'div.search-item',
selectOnFocus:true
});
/*提交服务器端获取下拉菜单列表之前获取本次查询条件作为query值传给服务器并获取下拉菜单结果*/
search.on('beforequery',function(qe){
var combo = qe.combo;
//输入框的值
var q = qe.query;
if(q == '')
temp = '';
forceAll = qe.forceAll;
if(forceAll === true || (q.length >= combo.minChars)){
if(combo.lastQuery !== q){
combo.lastQuery = q;
if(combo.mode == 'local'){
combo.selectedIndex = -1;
if(forceAll){
combo.store.clearFilter();
}else{
//写自己的模糊过滤条件
combo.store.filterBy(function(record,id){
alert(combo.displayField);
var text = record.get(combo.displayField);
var val=combo.getValue();
/**/
//过滤掉与输入框的值相等的记录
if(text==val){
return false;
}
return (text.indexOf(q)!=-1);
});
}
combo.onLoad();
}else{
if(q.indexOf(";",0)>-1){
combo.store.baseParams[combo.queryParam] = q.substring(q.lastIndexOf(";")+1);
combo.store.load({
params: combo.getParams(q)
});
}else{
//alert(q);
combo.store.baseParams[combo.queryParam] = q;
combo.store.load({
params: combo.getParams(q)
});
}
combo.expand();
}
}else{
combo.selectedIndex = -1;
combo.onLoad();
}
}
return false;
});
/*选中菜单项之后构造输入框显示内容,以“;”为分隔符*/
search.on('select',function(combo, record,index){
temp += combo.getValue()+';';
combo.setValue(temp);
});
/*----------------------------------------------------------------*/
- 大小: 13.9 KB
- 大小: 16 KB
- 大小: 12.5 KB
分享到:
相关推荐
最近维护了一个代码。需要下拉复选框,用的是EXT2.2,于是自己整合了一个。
可实现选中父节点,自动选中子节点,选中子节点,自动遍历选中父节点
这个不能用。不要吓。这个不能用。不要吓。
ext js 下拉树 真正可执行 包括引入的js和css
项目是myeclipse的web项目,导入项目即可,自己添加ext的js和css文件,资源中没有加入ext的基础文件
看看就知道了,不错的下拉树,异步加载树节点,使用Ext做的 下拉树
Ext下拉列表树,任何版本都可使用,只要下载即可使用。
主要实现下拉列表复选功能,从Ext.ux.form.LovCombo.js文件改进而来 目前实现的有全选,全不选,自然序,操作序功能 changeSort负责实现操作序功能(即先选的显示顺序在前,后选的在后;取消操作也不影响操作的顺序...
NULL 博文链接:https://dengli19881102.iteye.com/blog/1046190
extjs4.1下拉复选框完整DEMO,包含了extjs4.1主文件,代码实现了动态加载功能,所以需要配置IIS或者apache。插件文件在ux目录下,请自行参考。
下拉框的下拉列表改成checkbox的ext下拉列表,呵呵
NULL 博文链接:https://lhgyy00.iteye.com/blog/1257597
采用同步树原理,真正可以直接用的下拉树,,希望对你有帮助
网上搜索了许久未找到合适的完整的基于EXt4.2版本写的复选框下拉树,最后只得自己写一个。Extjs4.2 带复选框的下拉树,解决了向下勾选子节点、向上勾选父节点,正选反选获取值等问题,勾选的节点显示displayfield值...
NULL 博文链接:https://leonel.iteye.com/blog/454174
ext3横向菜单
首先声明:代码是我下载的,但是里边有我的劳动成功,原先的版本适用于ext3.2在3.3及以上版本中有BUG,现在这个版本在3.2,3.3,3.4中没有问题,可以正常使用
NULL 博文链接:https://chun521521.iteye.com/blog/1266203
这是java EXT 项目中下拉列表多选框使用的一个示例。(含如何使用的示例以及源代码)