hallo Interessierte, gruss rursus,
@rursus - Du willst ganz offensichtlich *eine liste*
*aller input-type-radio-elemente* eines *bestimmten formulars*
durchgehen und pruefen, ob fuer *jedes* dieser elemente
die bedingung *hast'n haeckchen?* gilt.
ich poste jetzt mal eine etwas ungewoehnlich aussehende loesung,
die aber die oben in umgangssprache verfassten anweisungen, fast
wortwoertlich umsetzt - erklaert wird im quellcode, betrachtungen
folgen nach:
~~~javascript var isEveryCheckboxOfAppliedFormChecked = function (nodeObj) {
return ( // gibt einen boolschen wert zurueck, da folgende bedingungen gestellt werden:
nodeObj.nodeName && // 1) das argument muss ein [HTMLElement] knoten sein ...
(nodeObj.nodeName.toLowerCase() == "form") && // 2) ... genauer ein [HTMLFormElement] ...
Array.filter(nodeObj.elements, (function (elm/, idx, arr/) { // hol Dir alle elemente dieses formulars,
return (elm.type == "checkbox"); // .., die vom typ "checkbox" sind ... und ...
})).every(function (elm/, idx, arr/) { // 3) pruefe, ob fuer jedes element der gefilterten liste gilt:
return elm.checked; // "bist Du gecheckt". (spaetestens hier wird ueber den rueckgabewert entschieden)
})
);
};
@all:
die performante verarbeitung nicht nur nativer JavaScript-arrays,
sondern array-artiger strukturen - \*listen\* - jeglicher art ist
eine der grossen staerken von JavaScript. das sprachkonzept selbst
haette schon immer die erweiterung des [[Array]]-konstruktors um
maechtige iteratoren und accessoren zugelassen, aber erst mozilla.org
stellte mit version 1.6 der eigenen sprach-implementierung ein
umfangreiches und fast alle beduerfnisse abdeckendes set dieser
methoden zur verfuegung.
wer sich schon mal mit LISP auseinandergesetzt hat, wird feststellen,
dass JavaScript jetzt aehnlich ausdrucksstark auf listen operieren kann.
fyi:
Douglas Crockford bezeichnete JavaScript schon 2001 als »Lisp in C's Clothing«
ich muss jetzt leider abbrechen und kann auch leider nicht mehr meine
in die runde geworfenen aussagen untermauernd verlinken ...
... so long - peterS. - pseliger@gmx.net
--
»Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive.« - [Douglas Crockford](http://javascript.crockford.com/)
ie:( fl:) br:> va:( ls:& fo:) rl:| n3;} n4:} ss:} de:µ js:} mo:? zu:]