THIS PROJECT IS VERY MUCH DEAD AND NOT MAINTAINED. IT'S BEEN 6+ YEARS SINCE THE LAST UPDATES. DON'T EXPECT THIS TO WORK.
# jQuery quicksearch plug-in
A [jQuery][jquery_site] based plug-in for filtering large data sets with user input
## Examples
*
*
## Usage
Note that the usage has changed in the latest version of quicksearch, the code is *not* backwards compatible,
the form and input are not build by the script any more.
$(input_selector).quicksearch(elements_to_search, options);
#### Example on table rows
/* Example form */
/* Example table */
| Test cell |
Another test cell |
#### Example on the `` elements on a table row
$('input#search').quicksearch('table tbody tr', {
selector: 'th'
});
#### Example of how to use with JS
var qs = $('input#id_search_list').quicksearch('ul#list_example li');
$('ul#list_example').append('Loaded with Ajax');
qs.cache();
#### Example of how to use with Ajax
var qs = $('input#search').quicksearch('table tbody tr');
$.ajax({
'type': 'GET',
'url': 'index.html',
'success': function (data) {
$('table tbody tr').append(data);
qs.cache();
}
});
## Options
* #### delay
Delay of trigger in milliseconds
* #### selector
A query selector on sibling elements to test
* #### stripeRows
An array of class names to go on each row
* #### loader
A query selector to find a loading element
* #### noResults
A query selector to show if there's no results for the search
* #### bind
Event that the trigger is tied to
* #### onBefore
Function to call before trigger is called
* #### onAfter
Function to call after trigger is called
* #### show
Function that will add styles to matched elements
* #### hide
Function that will add styles to unmatched elements
* #### prepareQuery
Function that transforms text from input_selector into query used by 'testQuery' function
* #### testQuery
Function that tells if a given item should be hidden
It takes 3 arguments:
- query prepared by 'prepareQuery'
- stripped text from 'selector'
- element to be potentially hidden
For example:
$('input#search').quicksearch('table tbody tr', {
'delay': 100,
'selector': 'th',
'stripeRows': ['odd', 'even'],
'loader': 'span.loading',
'noResults': 'tr#noresults',
'bind': 'keyup keydown',
'onBefore': function () {
console.log('on before');
},
'onAfter': function () {
console.log('on after');
},
'show': function () {
$(this).addClass('show');
},
'hide': function () {
$(this).removeClass('show');
}
'prepareQuery': function (val) {
return new RegExp(val, "i");
},
'testQuery': function (query, txt, _row) {
return query.test(txt);
}
});
## Help make quicksearch better!
If you have a bug fix, the best way to help would be to:
* Fork the project by clicking "Fork this project" at the top of this page
* Clone your version of quicksearch from your Github account to your computer
* Fix and commit the bugs, then push your version to your Github account
* Click "pull request" at the top of my Github page
I can't promise to answer every question about quicksearch,
but please do [report bugs here][issues] or [send me a message on Github][mail_me].
You can [watch quicksearch][github_watch] for updates or [follow me on Github][github_follow]
and [on Twitter][twitter_follow].
## License
Under the same licenses as the jQuery library itself:
## Credits
jQuery quicksearch is made by [Rik Lomas][rik_site] at [Lomalogue][lomalogue_site]
Thanks to [Seth F.][thelizardreborn] for fixes and [Krzysiek Goj][goj] for the testQuery and prepareQuery option updates
[jquery_site]: http://www.jquery.com
[rik_site]: http://www.riklomas.co.uk
[lomalogue_site]: http://www.lomalogue.com
[issues]: http://github.com/riklomas/quicksearch/issues
[mail_me]: http://github.com/inbox/new/riklomas
[github_watch]: http://github.com/riklomas/quicksearch/toggle_watch
[github_follow]: http://github.com/users/follow?target=riklomas
[twitter_follow]: http://twitter.com/riklomas
[thelizardreborn]: http://github.com/thelizardreborn
[goj]: http://github.com/goj
|