这2天老板要求做一个站内搜索,基本要求需要象GOOGLE那样实现onkey页面更新的功能。
刚开始找到了jQuery的autocomplete控件,但发现不是想要的那种形式,于是乎自己写了一个。
其中最关键的就是运用了jQuery的contains方法(相当于javascipt中的indexof便利字符串),然后利用filter进行表单更新
function searchUsers(){ $("#searchUser").keyup( function(){ $('#users ul li').hide(); var searchItem = $("#users ul li").filter(":contains('"+$.trim($("#searchUser").val())+"')") searchItem.show(); } ) }
由于contains方法区分大小写,所以还得自己写一个大小写转换方法。因为很讨厌javascript和jQuery嵌套,所以从新写了一个Contains方法(注意:是大写的C)
jQuery.expr[':'].Contains = function(a, i, m) { return jQuery(a).text().toLowerCase().indexOf(m[3].toLowerCase()) >= 0; };
这样,就很完美了