该插件使用正则表达式根据您的搜索输入对内容进行实时排序。现在脚本正在搜索您键入的内容。
这是代码:
$.fn.simpleContentSearch = function ( options ) {
var settings = {
'active' : 'active',
'normal' : 'normal',
'searchList' : 'searchable tr',
'searchItem' : 'td',
'effect' : 'none' // fade, none
};
var base = this;
var options = $.extend(settings, options);
function startSearching(query)
{
$( '.' + settings.searchList ).each(function ()
{
$(this).children( settings.searchItem ).each(function ()
{
var elem = $(this);
if (!elem.html().match(new RegExp('.*?' + query + '.*?', 'i'))) {
if( settings.effect == 'fade' ){
$(this).parent( '.' + settings.searchList ).fadeOut();
} else {
$(this).parent( '.' + settings.searchList ).hide();
}
} else {
if( settings.effect == 'fade' ){
$(this).parent( '.' + settings.searchList ).fadeIn();
} else {
$(this).parent( '.' + settings.searchList ).show();
}
return false;
}
return;
});
});
}
return this.each(function() {
// On Blur
base.blur(function ()
{
var elem = base;
elem.removeClass().addClass(options.normal);
});
// On Focus
base.focus(function ()
{
var elem = base;
elem.removeClass().addClass(options.active);
});
//Keyup
base.keyup(function ()
{
startSearching(base.val());
});
return this;
});
}
我想要做的是创建几个按钮,例如:“text1”“text2”,当您单击它们以搜索“text1”而无需键入它时。关于如何做到这一点的任何建议?这就是脚本的工作方式:jsfiddle
谢谢!