Dobrý den,
obracím se na Vás s žádostí o radu. Potřebuji na základě checkboxu zobrazit/skrýt další formulářové pole. Pokud bych měl jednoduchou strukturu, pak vše chodí OK. Můj problém je v tom, že prvek checkbox je zabalený do nějakolika containerů a fieldsetů. Když zaremuji poslední fieldset, pak je funkční.
$form/*['comdatap']*/[$i]['trainset']['loco']['loco_container'.$i][$delta]['strojvedoucib'.$i.$delta] = array (
'#type' => 'checkbox',
);
Na checkbox má reagovat:
$form['comdatap'][$i]['trainset']['loco']['loco_container'.$i][$delta]['strojvedouci'] = array (
'#type' => 'textfield',
'#states' => array(
'visible' => array(
':input[name="strojvedoucib'.$i.$delta.'"]' => array('checked' => TRUE),
),
Ale protože potřebuji zachovat uvedenou strukturu a tedy pokud odremuju /*['comdatap']*/ a upravím podmínku:
':input[name="comdatap[strojvedoucib'.$i.$delta.']"]' => array('checked' => TRUE),
pak funkční není. Prosím, mohl byste mě naznačit, jak by měla vypadat podmínka v uvedeném příkladu?
Děkuji Vám za jakoukoliv pomoc.
M.Klinger
No je otázka, jak vypadá vygenerovaný kód v HTML, jestli opravdu ten input má v name řetězce a čísla, ze kterých to skládáte.
Tak to mě nenapadlo se podívat do HTML, tam je kód:
name="loco_container1[1][strojvedoucib]"
tedy pak podmínka:
':input[name="loco_container'.$i.'['.$delta.'][strojvedoucib]"]' => array('checked' => TRUE),
Děkuji Vám moc za nasměrování a za pomoc
Tak jsem dohledal jak by to jde:
'visible' => array(
'.form-item-loco-container'.$i.'-'.$delta.'-strojvedoucib'.$i.$delta' input' => array('checked' => TRUE),
Nicméně kdybyste mohl uvést příklad, jak to vyřešit přes tu podmínku ':input[name=""
Děkuji