默认好像支持英语的智能筛选
试过了,改了easyui js文件中的keyup 但是还是没有达到想要的效果
<input class="c_search_box easyui-combogrid"type="text" id="txtCode" name="txtCode"
style="width: 200px;" />
第一步:定义全局变量
var wireRod;;
第二步:初始化加载下拉框值,并向全局变量 wireRod 赋值
$.ajax({
url: "/GatesManage/GetPublicVessels",//
type: "post",
dataType: "json",
success: function (data) {
debugger;
wireRod = data.rows;
}
});
第三步:定义下拉框方法,并其在 $(function () { });中初始化
function txtCode() {
$("#txtCode").combogrid({
editable: true,
required: false,
panelWidth: 190,
idField: 'VSL_CD',
textField: 'VSL_CNAME',
mode: 'remote',
//url: '/GatesManage/GetPublicVessels',
columns: [[
{ field: 'VSL_CD', title: '船代码', width: 60, hidden: true },
{ field: 'VSL_CNAME', title: '船名', width: 120 }
]],
keyHandler: {
up: function () {
},
down: function () { },
enter: function () {
//获取输入文本
var VSL_CD = $.trim($('#txtCode').combogrid('getText'));
//模糊查询匹配
doSearch(VSL_CD, wireRod, ['VSL_CD', 'VSL_CNAME'], $(this));
},
query: function (q) {
return false;
}
},
//向下拉框加载至
onShowPanel: function () {
$(this).combogrid('grid').datagrid('loadData', wireRod);
},
fitColumns: false,
onSelect: function (rowIndex, rowData) { Voyage(rowData.VSL_CD.toUpperCase()); }
});
}
第四步:定义模糊拣选的方法
参数定义:q:输入文本
data:下拉框数据集
searchList:检索的内容
ele:控件本身($("#textCode"))
//前端模糊查询
function doSearch(q, data, searchList, ele) {
debugger;
ele.combogrid('grid').datagrid('loadData', []);
if (q == "") {
ele.combogrid('grid').datagrid('loadData', data);
return;
}
var rows = [];
$.each(data, function (i, obj) {
debugger;
for (var p in searchList) {
var v = obj[searchList[p]];
if (!!v && v.toString().indexOf(q) >= 0) {
rows.push(obj);
break;
}
}
});
if (rows.length == 0) {
ele.combogrid('grid').datagrid('loadData', []);
return;
}
ele.combogrid('grid').datagrid('loadData', rows);
}
combogrid没有模糊查询功能,可以自己手写一个,代码在下面,你可以参考下
– 兰茵 5年前