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

Version Path
ns_settings_ui-1.7.0 app/assets/javascripts/ns_settings_ui/jquery.liveFilter.js
ns_settings_ui-1.6.1 app/assets/javascripts/ns_settings_ui/jquery.liveFilter.js
ns_settings_ui-1.6.0 app/assets/javascripts/ns_settings_ui/jquery.liveFilter.js
ns_settings_ui-1.5.3 app/assets/javascripts/ns_settings_ui/jquery.liveFilter.js
ns_settings_ui-1.5.2 app/assets/javascripts/ns_settings_ui/jquery.liveFilter.js
ns_settings_ui-1.5.1 app/assets/javascripts/ns_settings_ui/jquery.liveFilter.js
ns_settings_ui-1.4.0 app/assets/javascripts/ns_settings_ui/jquery.liveFilter.js
ns_settings_ui-1.3.0 app/assets/javascripts/ns_settings_ui/jquery.liveFilter.js
ns_settings_ui-1.2.0 app/assets/javascripts/ns_settings_ui/jquery.liveFilter.js
ns_settings_ui-1.1.0 app/assets/javascripts/ns_settings_ui/jquery.liveFilter.js
ns_settings_ui-1.0.0 app/assets/javascripts/ns_settings_ui/jquery.liveFilter.js