2016-04-29 6 views
2

Ich verwende diesen Knebel aus diesem Plugin http://www.bootstraptoggle.com/Änderung Toggle dynamisch mit bootstraptoggle

Ich mag den Wert dynamisch aus der Datenbank mit Daten ändern.

Hier ist mein Toggle

<input id="switchOutput2_AA" name="switchOutput2_AA" <?php echo ($output2 == 2 ? 'checked' : '')?> type="checkbox" data-toggle="toggle" data-on="<?php echo _("ON") ?>" data-off="<?php echo _("OFF")?>" data-onstyle="success" data-offstyle="danger" value="1">  

hier ist meine jQuery-Code Ich habe dies versucht:

$('#switchOutput2_AA').addClass('toggle-on'); 
$('#switchOutput2_AA').removeClass('toggle-off'); 

und versuchte auch, dass:

$('#switchOutput2_AA').prop('checked', true); 

Jede Idee? Danke.

Antwort

0

ich die Antwort gefunden. Wir müssen die Klasse im Eltern-Div der Eingabe ändern. Diese Eltern wird durch die bootstraptoggle Plugin erstellt, so dass Sie es nicht in Ihrem Code haben ...

Mein Code

<input id="switchOutput2_AA" name="switchOutput2_AA" checked type="checkbox" data-toggle="toggle" data-on="ON" data-off="OFF" data-onstyle="success" data-offstyle="danger" value="1">  

ist aber, wenn das Debuggen, was durch das Plugin erstellt wird, ist es:

<div class="toggle btn btn-success" data-toggle="toggle" style="width: 65px; height: 34px;"> 
    <input id="switchOutput2_AA" checked="" type="checkbox" data-toggle="toggle" data-on="ON" data-off="OFF" data-onstyle="success" data-offstyle="danger" value="1"> 
    <div class="toggle-group"> 
     <label class="btn btn-success toggle-on">ON</label> 
     <label class="btn btn-danger active toggle-off">OFF</label> 
     <span class="toggle-handle btn btn-default"></span> 
    </div> 
</div> 

Wenn wir das Toggle ON wechseln möchten:

$('#switchOutput1_AA').parent().removeClass('off'); 
$('#switchOutput1_AA').parent().removeClass('btn-danger'); 
$('#switchOutput1_AA').parent().addClass('btn-success'); 

und wechseln wechseln OFF:

$('#switchOutput1_AA').parent().addClass('off'); 
$('#switchOutput1_AA').parent().removeClass('btn-success'); 
$('#switchOutput1_AA').parent().addClass('btn-danger'); 
0

Zum Umschalten auf

$('#switchOutput2_AA').removeClass('off') 

auszuschalten

$('#switchOutput2_AA').addClass('off') 
+0

thx für Ihre Antwort, aber es funktioniert nicht ... – sincos

+0

ok, ich habe es gefunden. Ich muss hinzufügen/entfernen die Klasse "aus" auf dem Eltern-Div. Außerdem muss ich den "btn-Erfolg" oder "btn-Gefahr" auf dem Eltern ändern. – sincos

0

change() am Ende Ihres Ereignisses Anruf, wie ich es tat.

$('#switchOutput2_AA').prop('checked', !$('#switchOutput2_AA').prop('checked')).change(); 

Oder es einfacher machen

var currentValue = $('#switchOutput2_AA').prop('checked'); 

$('#switchOutput2_AA').prop('checked', !currentValue).change(); 
0

Gerade under diese einzelne Zeile hinzufügen auf dem Toggle

$ wechseln bootstrapToggle ('on ') (' your_class_name..');