From 3b0af69a1fc151cba877d720e4c6f1ab711533f4 Mon Sep 17 00:00:00 2001 From: Peter Jaric Date: Mon, 20 Oct 2014 11:31:20 +0200 Subject: [PATCH 1/2] Remove old search handler before adding the new one. --- filter.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/filter.js b/filter.js index d832faf..ac044c5 100644 --- a/filter.js +++ b/filter.js @@ -325,7 +325,7 @@ //Search var bindSearchEvent = function(searchBox, timeout, context){ - $('body').on('keyup', searchBox, function(e){ + var handler = function(e){ if (context.searchTimeoutId) { clearTimeout(context.searchTimeoutId); } @@ -333,7 +333,15 @@ context.filter(); }, timeout); //context.searchFilter(true); - }); + }; + $('body').on('keyup', searchBox, handler); + return handler; + }; + + var unbindSearchEvent = function(searchBox, handler){ + if (handler) { + $('body').off('keyup', searchBox, handler); + } }; F.initSearch = function(opts){ @@ -350,7 +358,8 @@ if(this.$search_ele.length){ this.has_search = true; this.searchFn = this.buildSearchFn(opts.fields); - bindSearchEvent(opts.ele, opts.timeout || 0, this); + unbindSearchEvent(opts.ele, this.searchHandler); + this.searchHandler = bindSearchEvent(opts.ele, opts.timeout || 0, this); } }; From dc838362561e421061ec7870ecf59cb8ab8a0895 Mon Sep 17 00:00:00 2001 From: Peter Jaric Date: Mon, 27 Oct 2014 13:53:51 +0100 Subject: [PATCH 2/2] getSelectedValues() now handles multiple select values (arrays). --- filter.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/filter.js b/filter.js index ac044c5..c53c340 100644 --- a/filter.js +++ b/filter.js @@ -274,7 +274,12 @@ var vals = []; criteria.$ele.filter(criteria.selector).each(function() { - vals.push($(this).val()); + var value = $(this).val(); + if (value instanceof Array) { + vals = vals.concat(value); + } else { + vals.push(value); + } }); if(criteria.type == 'range'){