From 3ad9c10a6b1571d97ca2e055a7f754507526cd70 Mon Sep 17 00:00:00 2001 From: Chintan Tank Date: Wed, 18 Jan 2012 12:11:00 -0500 Subject: [PATCH 1/2] Added APIs for initiating search programatically, count of matched results and fix for sync-ing val global. --- jquery.quicksearch.js | 43 +++++++++++++++++++++++++++++++++++++------ 1 file changed, 37 insertions(+), 6 deletions(-) diff --git a/jquery.quicksearch.js b/jquery.quicksearch.js index 7bd6f65..543d828 100644 --- a/jquery.quicksearch.js +++ b/jquery.quicksearch.js @@ -7,6 +7,7 @@ stripeRows: null, loader: null, noResults: '', + matchedResultsCount: 0, bind: 'keyup', onBefore: function () { return; @@ -35,15 +36,17 @@ this.go = function () { - var i = 0, - noresults = true, - query = options.prepareQuery(val), - val_empty = (val.replace(' ', '').length === 0); + var i = 0, + numMatchedRows = 0, + noresults = true, + query = options.prepareQuery(val), + val_empty = (val.replace(' ', '').length === 0); for (var i = 0, len = rowcache.length; i < len; i++) { if (val_empty || options.testQuery(query, cache[i], rowcache[i])) { options.show.apply(rowcache[i]); noresults = false; + numMatchedRows++; } else { options.hide.apply(rowcache[i]); } @@ -56,12 +59,29 @@ this.stripe(); } + this.matchedResultsCount = numMatchedRows; this.loader(false); options.onAfter(); return this; }; + /* + * External API so that users can perform search programatically. + * */ + this.search = function (submittedVal) { + val = submittedVal; + e.trigger(); + }; + + /* + * External API to get the number of matched results as seen in + * https://github.com/ruiz107/quicksearch/commit/f78dc440b42d95ce9caed1d087174dd4359982d6 + * */ + this.currentMatchedResults = function() { + return this.matchedResultsCount; + }; + this.stripe = function () { if (typeof options.stripeRows === "object" && options.stripeRows !== null) @@ -117,6 +137,12 @@ rowcache = jq_results.map(function () { return this; }); + + /* + * Modified fix for sync-ing "val". + * Original fix https://github.com/michaellwest/quicksearch/commit/4ace4008d079298a01f97f885ba8fa956a9703d1 + * */ + val = val || this.val() || ""; return this.go(); }; @@ -139,7 +165,12 @@ this.loader(false); return this.each(function () { - $(this).bind(options.bind, function () { + + /* + * Changed from .bind to .on. + * */ + $(this).on(options.bind, function () { + val = $(this).val(); e.trigger(); }); @@ -147,4 +178,4 @@ }; -}(jQuery, this, document)); \ No newline at end of file +}(jQuery, this, document)); From 1aabd844b96c239a8d0ab5a9a506f35b7541f1a9 Mon Sep 17 00:00:00 2001 From: Rik Lomas Date: Wed, 21 Feb 2018 10:56:40 -0500 Subject: [PATCH 2/2] Update README.markdown --- README.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.markdown b/README.markdown index c3f71a0..d807831 100644 --- a/README.markdown +++ b/README.markdown @@ -1,3 +1,5 @@ +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 @@ -156,4 +158,4 @@ Thanks to [Seth F.][thelizardreborn] for fixes and [Krzysiek Goj][goj] for the [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 \ No newline at end of file +[goj]: http://github.com/goj