Кому-нибудь удалось менять флажки checkboxes FormAPI через ajax?
Ниже пример.
При выборе $form['configs']['usrs'] должен выставиться соответствующий флажок в $form['configs']['replacing']['checkboxes'].
что #default_value что #value пусто — результат только при первом открытии формы
<?php
function test_form($form, &$form_state) {
$usrs_array = array('1' => '1', '2' => '2', '3' => '3', '4' => '4');
$usrs_flag = !empty($form_state['values']['usrs']) ? array(''.$form_state['values']['usrs']) : array('2');
$form['configs']['usrs'] = array(
'#title' => 'Номер :',
'#type' => 'select',
'#options' => $usrs_array,
'#default_value' => '2',
'#ajax' => array(
'callback' => 'ajax_callback',
'wrapper' => 'replacing-div',
'method' => 'replace',
'effect' => 'fade',
'event' => 'change',
),
);
$form['configs']['replacing'] = array(
'#prefix' => '<div id="replacing-div">',
'#suffix' => '</div>',
'#type' => 'fieldset',
);
$form['configs']['replacing']['checkboxes'] = array(
'#type' => 'checkboxes',
'#options' => array(
'1' => 'Тест 1',
'2' => 'Тест 2',
'3' => 'Тест 3',
'4' => 'Тест 4',
'5' => 'Тест 5',
),
'#default_value' => $usrs_flag,
// '#value' => $usrs_flag,
'#title' => 'Права доступа. Выбрано ' . current($usrs_flag),
);
return $form;
}
function
ajax_callback($form, &$form_state) {
return $form['configs']['replacing'];
}
?>