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);
>

Reply via email to