2016-03-21 4 views
0

Ich kopierte jqgrid.html von Ace Demo und aktivierte Funktion styleCheckbox(), um den Stil der Multiselektion Checkboxen zu ändern, aber etwas ist falsch gelaufen. Das Kontrollkästchen änderte sich nicht, als ich auf das Quadrat klickte, während es normal funktionierte, wenn ich auf andere Bereiche der Zeile klickte.Funktion styleCheckbox() in jqgrid von Ass funktioniert nicht einwandfrei

die Definition der Funktion styelCheckbox():

function styleCheckbox(table) { 
    $(table).find('input:checkbox').addClass('ace') 
      .wrap('<label />') 
      .after('<span class="lbl align-top" />') 
      .removeClass('cbox'); 

    $('.ui-jqgrid-labels th[id*="_cb"]:first-child') 
      .find('input.cbox[type=checkbox]').addClass('ace') 
      .wrap('<label />').after('<span class="lbl align-top" />') 
      .removeClass('cbox'); 
} 

aufgerufen, nachdem jqGrid vollständig geladen:

loadComplete : function() { 
    var table = this; 
    setTimeout(function(){ 
     styleCheckbox(table); 
    }, 0); 
}, 

Antwort

0

fand ich eine Lösung bei Checkbox & Switch (siehe Anhang):

Manchmal sollten Sie das Kontrollkästchen und .lbl nicht in ein Label einfügen. Zum Beispiel im jqGrid-Plugin, wenn Sie einen "Datensatz bearbeiten" oder "neuen Datensatz" -Dialog starten und das Kontrollkästchen dynamisch stylen möchten: form.find ('input [type = checkbox]') .addClass ('ace ace-switch ace-switch-5 ') nach (' '); Die Checkbox sollte nicht innerhalb des Labels eingeschlossen werden, da sie dem Upload-Mechanismus des Plugins widerspricht.

Also ich die .wrap(<label />) in Funktion styleCheckbox() löschen, Es funktionierte dann perfekt, wie ich wollte.

Modified Code:

function styleCheckbox(table) { 
$(table).find('input:checkbox').addClass('ace') 
     .after('<span class="lbl align-top" />') 
     .removeClass('cbox'); 

     $('.ui-jqgrid-labels th[id*="_cb"]:first-child') 
     .find('input.cbox[type=checkbox]').addClass('ace') 
     .after('<span class="lbl align-top" />') 
     .removeClass('cbox'); 

}

Verwandte Themen