最近在使用Dojo的拓展插件Dgrid时,需要做到一个功能——对Dgrid表格中的内容进行模糊搜索,弄了老半天也是将这个搞了出来。
昨天把模糊搜索的代码抽出来,并整理了一下。这段代码在逻辑上清晰易懂很多,毕竟要给项目组的其他人用。下面贴码。
var common = {
/**
* @example commom.onQuery(oInput, oGrid, aInitialData);
* @description 模糊查询,在输入框输入任意值即可对表格内容进行搜索,模糊搜索的效果可参考百度的搜索。使用:(1)dgrid表格startup后,调用此函数。(2)当表格数据刷新时,需要重新调用此函数。
* @param {Object} oS input框对象,即用来进行搜索的输入框
* @param {Object} grid Dgrid表格对象
* @param {Array} initialData 表格的初始数据
* */
onQuery: function(oS, grid, initialData) {
var _;
oS.oldLength = 0, _ = {
name: "模糊搜索主体函数",
searchTimeout: null,//这个变量用来设置延时,减少dgrid的刷新次数。
//模糊搜索的入口。
onQuery: function() {
if(oS.value != "") {//搜索框的输入值增多
if(oS.value.length &g