Știu cum să folosesc condițiile cu Form API pentru câmpuri cum ar fi câmpul text, caseta de selectare, de exemplu, afișarea sau ascunderea unui câmp atunci când o casetă de selectare este bifată.
$form['lorem'] = [
'#type' => 'caseta de selectare',
'#attributes' => [
'name' => 'field_lorem',
]
];
$form['ipsum'] = [
'#type' => 'caseta de selectare',
'#states' => [
'vizibil' => [
':input[name="field_lorem"]' => ['checked' => true]
],
],
];
Cu toate acestea, nu reușesc să o fac cu un câmp de casete de selectare.
// Acest cod nu funcționează.
$form['lorem'] = [
'#type' => 'caseta de selectare',
'#attributes' => [
'name' => 'field_lorem',
]
];
$opțiuni = [
'test_1' => 'Test 1',
'test_2' => 'Test 2',
];
$form['ipsum'] = [
'#type' => 'casete de selectare',
'#options' => $opțiuni,
'#states' => [
'vizibil' => [
':input[name="field_lorem"]' => array('checked' => true)
],
// În mod ideal, aș dori să bifați toate casetele de selectare, dar problema este în principal la nivel de stat
'verificat' => [
':input[name="field_lorem"]' => ['checked' => TRUE],
],
],
];
O pot face cu cod JavaScript personalizat, dar în mod ideal aș fi vrut să o fac cu API-ul formularului.
Ce #state
proprietate am nevoie pentru a realiza acest lucru?