Drupal form api #states

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

Fórum: 

slevové kupony

Reklama

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

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.

Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.

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

Přidat komentář