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 > discuss@jquery.com > http://jquery.com/discuss/ > -- John Resig http://ejohn.org/ [EMAIL PROTECTED] _______________________________________________ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/