Dynamické načtení hodnot druhého selectu (Selectize)
- Croc
- Člen | 270
Zdravím,
aktuálně řeším problém, kdy potřebuji mít dva závislé selecty. První je pevně daný, obsahuje pár hodnot. Do druhého selectu potřebuji načíst data z DB dle vybrané hodnoty z prvního selectu.
Druhý select je Selectize (musí být, protože se do něj načítá 250 a více hodnot), což mi trochu komplikuje situaci.
Vím, že tu je hodně diskuzí na toto téma, ale co jsem prošel tak byly starší tří let. Nějaká řešení jsem zkoušel, ale neúspěšně.
$form-addSelect('id_type', 'labels.type_name', $this->itemManager->getType());
$form->addSelectize('id_item', 'labels.item_name', $this->itemManager->getItemByType($id_type,'M',$id_item, $item_date));
$form->addText('item_name');
Prosím Vás tedy o radu, jak na to (ideálně s nějakým příkladem) :)
Díky moc
- Croc
- Člen | 270
Díky za typ. Snažím se tím prokousat, selecty mám zobrazené (zkouším příklad z gitu), ale hodnoty se přepnou na druhém selectu až po kliku na tlačítko Odeslat. Jako by to vůbec nebralo JS.
BTW používám Nette 2.3.7, nebude tam problém s kompatibilitou?
EDIT: Zkopčil jsem věci přesně z gitu včetně JS souborů a nefunguje to:( Zobrazí se 3 selecty, po odeslání se zobrazí dump hodnot formu, ale není tam žádné zobrazování hodnot dle volby v jednotlivých selectech.
Editoval Croc (1. 11. 2015 16:52)
- mrtnzlml
- Člen | 140
Udělal jsem update závislostí (2.3.7), ale nemyslím si, že by to nějak zásadně ovlivnilo chování programu. Při kliku v prvním selectu se v dalších dvou změní hodnoty. To samé u druhého (změní se logicky jen ty další). Po odeslání jsou k dispozici správné hodnoty.
Navíc jsem teď přidal další dvě dimenze, takže je tam k dispozici pětinásobný selectbox. Nijak víc jsem to nerefaktoroval, takže je vidět co je k tomu potřeba. Akorát ty databáze už jsem musel předělat. Už čtvrtá dimenze má hodně hodnot, natož tam počítat pátou úroveň… (-:
Udělej si pull a vyzkoušej. Teď jsem to měl rozjeté a funguje to. Třeba to jen není to co hledáš…
Editoval mrtnzlml (1. 11. 2015 20:41)