2016-11-16 3 views
0

Ich versuche, den Wert von AJAX abrufen und es hat funktioniert, aber ich versuche, Eingabe anzeigen: Radio, wenn die Bedingung wahr ist, dann wird es überprüft werden, aber nein ändere mein Skript. Wenn also der Wert status = 1 ist, dann wird input: radio geprüft und wenn der Wert status = 0 ist, wird nicht geprüft.Problem mit Kontrollkästchen/deaktivieren Optionsfeld basierend auf Bedingung mit jQuery

Meine Html

<div class="col-md-6"> 
    <label for="status">Status</label> 
    <div class="btn-group" data-toggle="buttons"> 
     <label class="btn btn-default btn-on btn-sm "> 
     <input type="radio" value="0" name="status" id="aktif" >Active</label> 
     <label class="btn btn-default btn-off btn-sm active"> 
     <input type="radio" value="1" name="status" id="deaktif" >Deactive</label> 
    </div> 
</div> 

Meine Ajax

$.ajax({ 
    url : "<?php echo site_url('edit')?>/" + id_user, 
    type: "GET", 
    dataType: "JSON", 
    success: function(data) { 
     $('[name="status"]').val(data.msg_activation); 
     $('#edit').modal('show'); 

     if($('[name="status"]').val(data.status) === 1) { 
      $('#aktif').prop('checked', true); 
     } 
    }, 
    error: function (jqXHR, errorThrown) { 
     alert('Error ajax'); 
    } 
}); 
+1

'.val (data.status)' wird der Wert auf den übergebenen Wert geändert zu werden, erhalten Der Wert use '.val()' – Tushar

+0

Versuchen Sie auch, nur den geprüften Wert zu testen? Würde helfen, wenn Sie eine bessere Erklärung genau geben, was Sie versuchen, für – charlietfl

+0

@Tushar zu überprüfen, dank es wahr Label ist aber nicht –

Antwort

2

Entfernen Sie die if Zustand und versuchen, wie unten,

$('#aktif').prop('checked', data.status === 1); 

-Code

$.ajax({ 
    url : "<?php echo site_url('edit')?>/" + id_user, 
    type: "GET", 
    dataType: "JSON", 
    success: function(data) { 
     $('[name="status"]').val(data.msg_activation); 
     $('#edit').modal('show'); 

     $('div.btn-group label.btn').removeClass('btn-on btn-off'); 

     $('#aktif').prop('checked', data.status === 1); 
     $('#aktif').parent().addClass(data.status === 1 ? 'btn-on' ? 'btn-off'); 

     $('#deaktif').prop('checked', data.status === 0); 
     $('#deaktif').parent().addClass(data.status === 0 ? 'btn-on' ? 'btn-off'); 
    }, 
    error: function (jqXHR, errorThrown) { 
     alert('Error ajax'); 
    } 
}); 
+0

danke @aruna, für überprüft habe ich die Antwort gefunden, aber wie das Etikett ändert sich auch ?? –

+0

@irwandwiyanto welches Label möchten Sie zeigen? – Aruna

+0

Dieses Beispiel [Beispiel jsfiddle] (https://jsfiddle.net/irwandwiyanto/uttvjypt/) also, wenn Status = 1 '

0

Sie könnten einen weiteren Selektor wie folgt hinzufügen,

$('input[name="status"]').val(data.msg_activation); 

das Etikett auch um zu verhindern,

Verwandte Themen