categoryList.is(':checked') will return false if none are checked, so you could do:
heading.css('color', categoryList.is(':checked') ? 'red' : 'black'); --Erik On Wed, Apr 15, 2009 at 8:33 AM, Dragon-Fly999 <dragon-fly...@hotmail.com>wrote: > > Hi, I'm new to JQuery and I have a question about checkboxes. I have > 5 checkboxes on my page and they are passed into my plug-in. I'd like > to find out how many of them are checked in my plug-in. The following > code works but I'm sure there is a better way to do it (especially the > part of the code that figures out the number of checkboxes checked). > Any suggestions would be appreciated. Thank you. > > ===== > > In my aspx page: > > // $('.category-list') returns a list of 5 checkboxes. > $(function() { > $('#info-heading').createCategoryGroup($('.category-list')); > }); > > ===== > > In my plug-in: > > // categoryList is a list of checkboxes. > (function($) { > $.fn.createCategoryGroup = function(categoryList) { > > var heading = this; // This is an anchor. > > // Figure out how many checkboxes are checked when the user clicks > // on any one of the checkboxes. > categoryList.click(function() { > > // Figure out the number of checkboxes that are checked. > var checkedCount = 0; > categoryList.each(function() { > if (this.checked) { > checkedCount++; > } > }); // End of each. > > // Set the heading to a different color based on how > // many checkboxes are checked. > heading.css('color', checkedCount == 0 ? 'black' : 'red'); > }); // End of click. > > return this; > } > })(jQuery); >