Hi Brian -
Here is how I would change your code:
$('[EMAIL PROTECTED]').click(function(){
$('#label').unbind('change');
if ( $("[EMAIL PROTECTED]'label_checkbox']:checked").length )
$('#label').bind('change', function(){
alert('test');
});
});
By making it such that the change event is always unbound from the
select, when a checkbox changes, you're guaranteed to never have more
than one bound at a time. Hope this helps.
--John
On 10/18/06, Brian Litzinger <[EMAIL PROTECTED]> wrote:
>
> I have a group of checkboxes, and as long as any one of the boxes is checked
> I need a function bound to a select list, but anytime none of the boxes are
> checked I need the function unbound. What I have below binds and unbinds,
> but if I select lets say 4 checkboxes the function is bound and called 4
> times when I change my select list. How do I just bind it once?
>
> $('[EMAIL PROTECTED]').click(function(){
> if($("[EMAIL PROTECTED]'label_checkbox']").is(":checked")) {
> $('#label').bind('change', function(){
> alert('test');
> });
> } else {
> $('#label').unbind('change');
> }
> });
> --
> View this message in context:
> http://www.nabble.com/How-to-bind-a-function-only-once-tf2466835.html#a6876978
> Sent from the JQuery mailing list archive at Nabble.com.
>
>
> _______________________________________________
> jQuery mailing list
> [email protected]
> http://jquery.com/discuss/
>
--
John Resig
http://ejohn.org/
[EMAIL PROTECTED]
_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/