Drupal AJAX чекбокс - PullRequest
       1

Drupal AJAX чекбокс

0 голосов
/ 07 ноября 2011

При нажатии на флажок я хочу вызвать функцию checkbox_ajax, я пытался, но она не работает

function checkbox1($form_state) {
    $form['checkbox'] = array(
                '#type' => 'checkbox',
                '#prefix' => "<div class='rowH'>",
                '#suffix' => "</div>",
                '#ajax' => array(
                  'callback' => 'checkbox_ajax',
                'wrapper' => 'checkbox_ajax-wrapper'
                ),
                  ); 
    return $form;
}

Мне нужно изменить префикс класса

function checkbox_ajax($form, &$form_state) {

  $form['checkbox']['#prefix'] = "<div class='rowHB'>";

  return $form['checkbox'];  

}

если кто-то может помочь?

Ответы [ 2 ]

0 голосов
/ 11 мая 2017
function checkbox1($form_state) {
    $form['checkbox'] = array(
                '#type' => 'checkbox',
                '#prefix' => (isset($form_state['values']['checkbox']) && $form_state['values']['checkbox'] ) ? "<div class='rowHB'>" : "<div class='rowH'>", //CHANGE HERE
                '#suffix' => "</div>",
                '#ajax' => array(
                  'callback' => 'checkbox_ajax',
                'wrapper' => 'checkbox_ajax-wrapper'
                ),
                  ); 
    return $form;
}

если установлен $ form ['checkbox'], то $ form_state ['values'] ['checkbox'] будет равно 1, таким образом ($ form_state ['values'] ['checkbox']) будет равнов true.

Я думаю, что это должно работать, но еще не проверял.

0 голосов
/ 07 ноября 2011

Попробуйте:

function checkbox1($form, &form_state) {

и:

function checkbox_ajax($form, $form_state) {
...