Mootools get input with name and value, selectors s více atributy

Jak v mootools vybrat elementy podle více atributů? Co například vybrat všechny radio inputy s názvem začínajícím "produkt" a s hodnotou 101?


Mootools umožňuje vybrat sadu elementů pomocí selectorů, např. pomocí funkce $$. Můžeme tak vybrat všechny inputy typu "radio", uvnitř nějakého formuláře.

Nebo jak ukáže tento příklad, vybrat všechny přepínače, radio inputy, které mají v atributu name nějaké slovo a v atributu value konkrétní hodnotu, celé to ještě můžeme upřesnit o ty, které jsou zatřžené, tedy checked.

  1. $$('input[type=radio][name^=produkt][value=100][checked=checked]').each(function(item, index){
  2. //v cyklu pak můžeme každý element upravovat jak se nám zlíbí, např.
  3. item.checked=false;
  4. });

Z tohoto seznamu elementů:

  1. <input type="radio" name="produkt[1]" value="100" checked="checked" />
  2. <input type="radio" name="produkt[2]" value="100" />
  3. <input type="radio" name="produkt[3]" value="100" checked="checked" />
  4. <input type="radio" name="produkt[4]" value="101" checked="checked" />
  5. <input type="radio" name="produkt[5]" value="102" checked="checked" />
  6. <input type="radio" name="produkt[6]" value="103" checked="checked" />

Budou vybrány tyto:

  1. <input type="radio" name="produkt[1]" value="100" checked="checked" />
  2. <input type="radio" name="produkt[3]" value="100" checked="checked" />

a jim bude bude změněno nastavení zatržení.

Není od věci ještě zmínit některá další nastavení selektorů:

  • '=' : 'input[type=radio]' - pouze elementy input typu "radio"
  • '^=': input[name^=produkt] - pouze elementy input s name začínajícím na "produkt", např. produkt[1], produkt-1 atd.
  • '$=': input[name$=produkt] - pouze elementy input končící v name na "produkt", např. 12-produkt, 1-produkt, new-produkt atd.
  • '!=': input[name!=produkt] - pouze elementy input, které v name nemají "produkt"

Můžeme však vybrat i všechny elementy s určitou class, např. $$('input.class'), nebo se všemi id, nebo můžeme jednotlivé atributy kombinovat atd., další možnosti najdete v manuálu mootools mootools.net/docs/Utilities/Selectors a spousty užitečných informací ve fóru mootols forum.mootools.net/.