2015-11-10 4 views
9

Ich habe diese Auszeichnung und jQuery bekommen, aber ich kann die Schaltfläche Wert oder nicht erfolgreich erfassen/off oder jede Form der Anerkennung der Einstellung des Knies:Wie den Wert eines Bootstrap Umschaltknopf in jQuery

HTML

<div class="form-group"> 
    <label class="col-md-2 control-label" for="payMethod">Payment Method</label> 
     <div class="col-md-2"> 
     <label class="checkbox-inline bootstrap-switch-noPad" for="payMethod"> 
      <input type="checkbox" id="payMethod" name="payMethod" data-size="small" value="Credit" data-on-text="Credit" data-on-color="success" data-off-text="Cash" data-off-color="warning" tabindex="13"> 
     </label> 
     </div> 
    </div> 

jQuery

$('#payMethod').on('change', function() { 
    alert('slid'); 
}); // does not work 

$("#payMethod").click(function() { 
    alert($('#payMethod').val()); 
}); // does not work 

$('#payMethod').change(function() { 
    alert('Toggle: ' + $(this).prop('checked')); 
}); // does not work 

$('input[type=checkbox][name=payMethod]').change(function() { 
    alert('help'); // does not work 
}); 

Hier sind die Schieber Tasten (es gibt keine Kontrollkästchen): enter image description here enter image description here

Antwort

13

Sie können versuchen, diese

$("#payMethod").change(function(){ 
    if($(this).prop("checked") == true){ 
     //run code 
    }else{ 
     //run code 
    } 
}); 
+0

ok, danke @Makubex - Ich werde es in Kürze versuchen und zurück posten –

+0

Es hat nicht funktioniert @Makubex –

+0

hier ist mein bearbeiteter Beispielcode https: //jsfiddle.net/jmtolibas/nnhur6de/ – Makubex

1

Ich denke, dass das Skript vor dem HTML-Tag platziert? Wenn ja, dann bewegen Sie das Skript nach dem HTML-Tag, oder legen Sie das Skript in jQuery-Funktion wie folgt:

$(function() 
{ 

    $('#payMethod').on('change', function() { 
     alert('slid'); 
    }); // does not work 

    $("#payMethod").click(function() { 
     alert($('#payMethod').val()); 
    }); // does not work 

    $('#payMethod').change(function() { 
     alert('Toggle: ' + $(this).prop('checked')); 
    }); // does not work 

    $('input[type=checkbox][name=payMethod]').change(function() { 
     alert('help'); // does not work 
    }); 
}); 

Die beste Praxis, die später eine zu verwenden ist, die das Skript in der jQuery-Funktion platzieren. Weil die Skripts gerendert werden, nachdem alle HTML-Tags gerendert wurden.

+0

es ist ein Ausschnitt des Codes. Das gesamte Skript befindet sich direkt vor dem '' Tag, nachdem die jQuery Lib geladen wurde. –

+0

Ich habe den größten Fortschritt mit Ihren Anregungen hier gemacht @OetawanAryaChandra. Ich habe es noch nicht genau funktioniert, aber Panzer für Ihre Führung. –

+0

'$ (" #payMethod ") .click (function() { alert ($ ('# payMethod'). Val()); });' dieser schießt aber nur auf ** Credit **, ** Bargeld ** nicht zurück –

1

Sie können einfach wie folgt verwenden: Wenn in Ihrem HTML-Code verwenden Sie id = abc für Bootstrap toggle.

$('#abc').prop('checked') 

Ausgabe ist: wahr oder falsch. (True wenn eingeschaltet, und false wenn Toggle aus ist)

Verwandte Themen