[ laleb @ 15.11.2011. 07:44 ] @
Imam problem da klikom na checkbox promenim css klasu div-a:
Code:
function checkbox1($form, &$form_state) {
    $form['checkbox'] = array(
                '#type' => 'checkbox',
                '#prefix' => "<div class='rowH'>",
                '#suffix' => "</div>",
                '#ajax' => array(
                  'callback' => 'checkbox_ajax',
                'wrapper' => 'checkbox_ajax-wrapper'
                ),
                  ); 
    return $form;
}


checkbox poziva funkciju checkbox_ajax:

Code:
function checkbox_ajax($form, &$form_state) {

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

  return $form['checkbox'];  

}


Moze li neko da pomogne?
[ Nikola Poša @ 15.11.2011. 19:41 ] @
Koliko ja znam, ne postoji taj #ajax property... A i da postoji, promena klase na JS click event se ne radi tako. Ne znam šta si hteo sa tim callback-om na serverskoj strani - checkbox_ajax()... Za tu promenu CSS klase ti ne treba nikakav AJAX, nikakav reload stranice kako bi se ponovo izvršio PHP kôd, već samo čist JS. Probaj da dodaš npr. neki ovakav JavaScript na tu tvoju stranicu:
Code:
if (Drupal.jsEnabled) {
    $(document).ready(function () {
        $('#checkbox').click(function(){
            $(this).parent('div').toggleClass('rowHB');
        });     
    });
}

Ovaj jQuery snippet podrazumeva da taj checkbox ima id "checkbox", i radiće toggle CSS klase njegovog parent div-a, u smislu da će klasa "rowH" uvek biti attach-ovana na taj div, a klasa "rowHB" će biti dodavana/uklanjana na svaki klik na taj checkbox.