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.