JSFiddle - React, Tailwind, and code Playground

by der_robert

HTML

<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-switch/3.0.1/css/bootstrap3/bootstrap-switch.css">
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
<script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/bootstrap-switch/3.0.1/js/bootstrap-switch.js"></script>
<div class="make-switch">
    <input type="checkbox" name="cb1" id="cb1" data-on-text="An 1" data-off-text="Aus 1" value="vcb1" checked="true" data-switch-name="cb1" data-switchvalue=true class="probeProbe" />
</div>
<div class="make-switch">
    <input type="checkbox" name="cb2" id="cb2" data-on-text="An 2" data-off-text="Aus 2" value="vcb2" checked="true" data-switch-name="cb2" data-switchvalue="false" class="probeProbe" />
</div>
<div class="make-switch">
    <input type="checkbox" name="cb3" id="cb3" data-on-text="An 3" data-off-text="Aus 3" value="vcb3" checked="true" data-switch-name="cb3" data-switchvalue="true" class="probeProbe" />
</div>
<div class="make-switch">
    <input type="checkbox" name="cb4" id="cb4" data-on-text="An 4" data-off-text="Aus 4" value="vcb4" checked="true" data-switch-name="cb4" data-switchvalue="false" class="probeProbe" />
</div>

JavaScript

$('[id^="cb"]').each(function(){
  var id = $(this).attr("id");
  $('#'+id).bootstrapSwitch('state', $(this).data("switchvalue"));
});



$('.probeProbe').on('switchChange.bootstrapSwitch', function (event, state) {
  var checkbox_status = state;
  var switchname = $(this).data("switch-name");
  console.log(switchname+" -> "+checkbox_status);
  $.ajax({
    url: 'libs/hier_irgendeine_php_datei.php',
    type: "POST",         
    dataType: "json", 
    data: {checkbox:switchname,checkbox_status:checkbox_status},
    success: function(data) {   
      
      /*
      * in der PHP datei dann am Ende sowas:
      $status = $_POST['checkbox_status'];
      // Update DB
      $return = array("status"=>"ok"); // alternativ, statt ok, fail oder fehler um im Ajax-Block den eles zweig anzusprechen
      echo json_decode($return); weil am ende von $.ajax "JSON" steht und weil      
      */
      
      if(data.status == 'ok'){
        //alert("alles ok");
      }else{
        //alert("Fehler");
      }
    },
    error: function(data) {            
      //alert("Fehler 2");
    }
  },"JSON");  
  
  $
});