Ha! I knew there had to be a shorter way to do this! Thanks!
On Mon, Apr 1, 2013 at 3:53 PM, Jason Westbrook <jwestbr...@gmail.com>wrote: > > Prototype has a method for what you are trying called any() > > http://api.prototypejs.org/language/Enumerable/prototype/any/ > > you create an iterator function and pass it to any > > > var elmName = "input:checkbox[name='" +element.name +"']"; > var bChecked = false; // not validated > var anychecked = $$(elmName).any(function(n) { > return n.checked; > }); > > anychecked will be true or false > > > > Jason Westbrook | T: 313-799-3770 | jwestbr...@gmail.com > > > On Mon, Apr 1, 2013 at 10:49 AM, Phil Petree <phil.pet...@gmail.com>wrote: > >> // this works with names that contain spaces and arrays[]... >> >> Validation.add('validate-one-array', 'Error message text', >> function(value, element) { >> var elmName = "input:checkbox[name='" +element.name +"']"; >> var bChecked = false; // not validated >> $$(elmName).each(function(elm) { >> if( $(elm).checked ) >> bChecked = true; // if one is checked, we validated >> }); >> return bChecked; >> }); >> >> >> On Mon, Apr 1, 2013 at 1:15 PM, Jason Westbrook <jwestbr...@gmail.com>wrote: >> >>> typically when I build forms like that I have a database that is giving >>> me all the data so I only have to update the loop once for all the >>> checkboxes :-) >>> >>> but yes you can use the $$() Selector method to use the names - I think >>> you have to do it this way though >>> >>> $$("input[name='kitcat[]']:checked") //but I'm not sure how Sizzle >>> will handle the bracket in the name >>> or >>> $("input[name^='kitcat']:checked") //this is probably more safe but >>> it will match more elements as it gets all elements that have a name >>> attribute that starts with "kitcat" (starts with is ^= instead of =) >>> >>> >>> >>> Jason Westbrook | T: 313-799-3770 | jwestbr...@gmail.com >>> >>> >>> On Sun, Mar 31, 2013 at 11:46 AM, Phil Petree <phil.pet...@gmail.com>wrote: >>> >>>> Hey Jason... I guess the rest of the group are all slugs! How dare they >>>> take Easer off! LOL >>>> >>>> I had kinda come to the same conclusion... what I implemented was: >>>> if($$('input:checked').length > 0) >>>> return true; >>>> This kind of works because the ONLY input on this page are checkboxes >>>> (think of a wizard) but I was really looking to pass names (kitcat[]) in so >>>> that it could be more flexible and accomodate future mods. >>>> >>>> In your method, I need to mod all 17 checkboxes to include the same >>>> class name which is currently: "validate-onein-group" >>>> >>>> Is there a way to collect all checkboxes with the same name? >>>> >>>> >>>> On Sun, Mar 31, 2013 at 11:54 AM, Jason Westbrook <jwestbr...@gmail.com >>>> > wrote: >>>> >>>>> Try adding a separate class to all of your checkboxes that are in the >>>>> group and then do this >>>>> >>>>> if( $$('.groupchecks:checked').length == 0 ) >>>>> { >>>>> //no checked checkboxes >>>>> >>>>> { >>>>> >>>>> Jason Westbrook | T: 313-799-3770 | jwestbr...@gmail.com >>>>> >>>>> >>>>> On Sun, Mar 31, 2013 at 8:30 AM, Phil Petree <phil.pet...@gmail.com>wrote: >>>>> >>>>>> Happy Easter! >>>>>> >>>>>> I have an array of checkboxes on a form (about 15 of them) arranged >>>>>> in rows like this: >>>>>> <tr><td><input type='checkbox' name='kitcat[]' >>>>>> ...></td><td>name</td><td>description</td></tr> >>>>>> >>>>>> What I have been trying to use is this: >>>>>> $("input:checkbox[name=kitcat]:checked").each(function() { >>>>>> // if one is checked, we validated >>>>>> return true; >>>>>> }); >>>>>> >>>>>> What I'm getting is an error saying: Unable to get value of the >>>>>> property 'each': object is null or undefined >>>>>> >>>>>> What's the trick to this? >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "Prototype & script.aculo.us" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to prototype-scriptaculous+unsubscr...@googlegroups.com >>>>>> . >>>>>> To post to this group, send email to >>>>>> prototype-scriptaculous@googlegroups.com. >>>>>> Visit this group at >>>>>> http://groups.google.com/group/prototype-scriptaculous?hl=en. >>>>>> For more options, visit https://groups.google.com/groups/opt_out. >>>>>> >>>>>> >>>>>> >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Prototype & script.aculo.us" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to prototype-scriptaculous+unsubscr...@googlegroups.com. >>>>> To post to this group, send email to >>>>> prototype-scriptaculous@googlegroups.com. >>>>> Visit this group at >>>>> http://groups.google.com/group/prototype-scriptaculous?hl=en. >>>>> For more options, visit https://groups.google.com/groups/opt_out. >>>>> >>>>> >>>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Prototype & script.aculo.us" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to prototype-scriptaculous+unsubscr...@googlegroups.com. >>>> To post to this group, send email to >>>> prototype-scriptaculous@googlegroups.com. >>>> Visit this group at >>>> http://groups.google.com/group/prototype-scriptaculous?hl=en. >>>> For more options, visit https://groups.google.com/groups/opt_out. >>>> >>>> >>>> >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Prototype & script.aculo.us" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to prototype-scriptaculous+unsubscr...@googlegroups.com. >>> To post to this group, send email to >>> prototype-scriptaculous@googlegroups.com. >>> Visit this group at >>> http://groups.google.com/group/prototype-scriptaculous?hl=en. >>> For more options, visit https://groups.google.com/groups/opt_out. >>> >>> >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Prototype & script.aculo.us" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to prototype-scriptaculous+unsubscr...@googlegroups.com. >> To post to this group, send email to >> prototype-scriptaculous@googlegroups.com. >> Visit this group at >> http://groups.google.com/group/prototype-scriptaculous?hl=en. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > > -- > You received this message because you are subscribed to the Google Groups > "Prototype & script.aculo.us" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to prototype-scriptaculous+unsubscr...@googlegroups.com. > To post to this group, send email to > prototype-scriptaculous@googlegroups.com. > Visit this group at > http://groups.google.com/group/prototype-scriptaculous?hl=en. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- You received this message because you are subscribed to the Google Groups "Prototype & script.aculo.us" group. To unsubscribe from this group and stop receiving emails from it, send an email to prototype-scriptaculous+unsubscr...@googlegroups.com. To post to this group, send email to prototype-scriptaculous@googlegroups.com. Visit this group at http://groups.google.com/group/prototype-scriptaculous?hl=en. For more options, visit https://groups.google.com/groups/opt_out.