使用jQuery根据条件选中/取消选中单选按钮的问题

时间:2016-11-16 02:56:24

标签: javascript jquery html ajax

我正在尝试检索ajax的值并且它有效,但我尝试显示输入:radio如果条件为true则将检查它,但我的脚本没有变化。 因此,如果值status = 1,则输入:radio被检查,如果值status = 0,则不检查。

我的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>  

我的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');
    }
}); 

2 个答案:

答案 0 :(得分:2)

删除if条件并尝试如下,

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

代码

$.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');
    }
}); 

答案 1 :(得分:0)

你可以添加另一个这样的选择器,

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

防止标签也被改变