SelectBox::setItemsCallback()

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
japlavaren
Člen | 404
+
0
-

ahoj,

na planette je návod, ako na závislé select boxy. Bohužiaľ má niekoľko nedostatkov:

  • hodnoty sa nastavujú v handle, čím vznikajú problémy:
    • ak zlyhá validácia, užívateľ dostane formulár bez zvolených hodnot
    • ak chcem formulár použiť ako editačný – nevykreslí závislým selectom hodnoty
  • použiva metódu Form::getHttpData, ktorá može obsahovať nekonzistentné hodnoty

Rozmýšľal som, ako to vyriešiť. Select box musí byť naplnený hodnotami nielen v handle, ale i v ostatných stavoch. Problém je, že pri pridaní selectu do kontaineru, ten ešte nieje pripojený k presenteru a nedokáže načítať, akú hodnotu má nadradený select. Riešením by bolo rozšíriť select box o metódu setItemsCallback($form, $control), ktorá by dokázala získať potrebné dáta po pripojení k presenteru dodatočne.

Čo si o tom myslíte, poprípade má niekto lepší nápad?