Sha256: ab5e14191c74c3e902e11df9368a447e4d30de2dd288cd3def362fbf08dd858c
Contents?: true
Size: 1.15 KB
Versions: 11
Compression:
Stored size: 1.15 KB
Contents
/* * jQuery.liveFilter * * Copyright (c) 2009 Mike Merritt * * Forked by Lim Chee Aun (cheeaun.com) * */ (function($){ $.fn.liveFilter = function(inputEl, filterEl, options){ var defaults = { filterChildSelector: null, filter: function(el, val){ return $(el).text().toUpperCase().match(val.toUpperCase()) !== null; }, before: function(){}, after: function(){} }; var options = $.extend(defaults, options); var el = $(this).find(filterEl); if (options.filterChildSelector) el = el.find(options.filterChildSelector); var filter = options.filter; $(inputEl).keyup(function(){ var val = $(this).val(); var contains = el.filter(function(){ return filter(this, val); }); var containsNot = el.not(contains); if (options.filterChildSelector){ contains = contains.parents(filterEl); containsNot = containsNot.parents(filterEl).hide(); } options.before.call(this, contains, containsNot); contains.show(); containsNot.hide(); if (val === '') { contains.show(); containsNot.show(); } options.after.call(this, contains, containsNot); }); } })(jQuery);
Version data entries
11 entries across 11 versions & 1 rubygems