Autor Zpráva
mimochodec
Profil
Chtěl bych na webu použít toto: http://dbushell.github.io/Pikaday/
Těch pickerů ale na jedné stránce potřebuju víc, byť se skoro identickým nastavením. Dá se v jquery nějak pracovat s více objekty najednou, nebo musím jít takto?

    var picker = new Pikaday({
        field: document.getElementById('d_v'),
        firstDay: 1,
        minDate: new Date('2000-01-01'),
        maxDate: new Date('2020-12-31'),
        yearRange: [2000, 2020],
    });

    var picker = new Pikaday({
        field: document.getElementById('d_u1'),
        firstDay: 1,
        minDate: new Date('2000-01-01'),
        maxDate: new Date('2020-12-31'),
        yearRange: [2000, 2020],
    });

    var picker = new Pikaday({
        field: document.getElementById('d_u2'),
        firstDay: 1,
        minDate: new Date('2000-01-01'),
        maxDate: new Date('2020-12-31'),
        yearRange: [2000, 2020],
    });
    
    ..
    ..
_es
Profil
mimochodec:
Čo s tým má spoločné jQuery?
eager_beaver
Profil
mimochodec:
Řekl bych, že k tomu pomůže
document.getElementsByClassName('trida')
nebo
document.getElementById('idecko').getElementsByClassName('trida')
_es
Profil
eager_beaver:
nebo
document.getElementById('idecko').getElementsByClassName('trida')
To asi nie, keďže id elementu by malo byť v rámci dokumentu jedinečné.
eager_beaver
Profil
To asi nie, keďže id elementu by malo byť v rámci dokumentu jedinečné.
To samozřejmě ano, jen jsem nastínil další možnost - využití jak ID tak třídy pro případ větvení ve skriptu. Ovšem nevím jakým způsobem je pickaday psaný, jestli dovoluje spojovat selektory atp. Zajímalo by mě, jestli s tím mimochodec pochodil ☺

EDIT:
ještě doplňuji, že může zkusit označit více tříd
document.getElementsByClassName('trida-jedna trida-dva')
mimochodec
Profil
Tak bohužel. Toto nefunguje:
field: document.getElementsByClassName('d_x'),
Třídu jsem přiřadit nezapomněl.


document.getElementById('idecko').getElementsByClassName('trida')
Toto nevím jak by mi mělo pomoct. Musel bych přece nadefinovat těch pár řádků stejně jak to mám teď.
eager_beaver
Profil
Pokud stáhnu knihovnu i s demem na amsul.ca, řeší se to v souboru date.htm následovně:

<code data-language="javascript">
  $('.datepicker').pickadate({
    min: new Date(2013,3,20),
    max: new Date(2013,7,14)
  })
</code>

Ale jinak nevím.

-------------------
EDIT:
To je samozřejmě hloupost, protože se jedná o jinou knihovnu ☺
Pardon, zkusím se ještě mrknout.
Joker
Profil
mimochodec:
Tam je spíš otázka, jestli ten objekt Pikaday umí pracovat s kolekcí polí.
Jestli ne, pomůže leda zvolit nějakou jinou komponentu.
Jestli ano, stačí těm objektům dát nějakou třídu a pak mu předhodit výsledek getElementsByClassName.
Chamurappi
Profil
Reaguji na mimochodce:
Dá se v jquery nějak pracovat s více objekty najednou
Kde máš jaké jQuery? Ta knihovna je na něm zcela nezávislá.

Jestli ti vadí opakování podobných vstupů, cykly znáš? Funkce znáš? Můžeš si udělat funkci, té předat ídéčko, to dosadit do document.getElementById… žádná velká věda, ne?


Reaguji na Jokera:
pak mu předhodit výsledek getElementsByClassName
Podotýkám, že nefunguje ve všech prohlížečích.
mimochodec
Profil
Chamurappi:
Jestli ti vadí opakování podobných vstupů, cykly znáš? Funkce znáš?

Znám. Šlo mi prostě o to, jestli v podobných případech nejde použít něco jako getElementByIds ("id1", "id2", "id3") a nastavit parametry všem najednou (vím, že v JS ne, v jQ jsem nevěděl). Když to nejde, tak se nic neděje, padesát řádků kódu mě nezabije.
Joker
Profil
Chamurappi:
Podotýkám, že nefunguje ve všech prohlížečích.
Pravda. Ale pro staré IE jde udělat (nebo zkopírovat) celkem jednoduše náhražka.

mimochodec:
Šlo mi prostě o to, jestli v podobných případech nejde použít něco jako getElementByIds ("id1", "id2", "id3")
Tak svým způsobem:
var prvky = [document.getElementById("id1"), document.getElementById("id2"), document.getElementById("id3")];[

Ale jak jsem psal, ta nejzásadnější věc je, jestli ta komponenta vůbec umí pracovat s kolekcí prvků.

Tam nejde o JS nebo jQuery, ale prostě se volá nějaká metoda s nějakým parametrem a jde o to, co v tom parametru očekává.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: