【问题标题】:JSON : Select Radio button base on responseJSON:根据响应选择单选按钮
【发布时间】:2016-09-07 07:50:15
【问题描述】:

如何根据从数据库加载的数据填充单选按钮的选中状态?

我想获取此表单的数据单选按钮

                  <div class="col-md-4">

                    <label>
                      <input type="radio" name="menu_status" class="flat-red" value="1"> Enable
                    </label>
                    <label>
                      <input type="radio" name="menu_status" class="flat-red" value="0"> Disable
                    </label>

这是我的数组结果

{"menu_id":"00001","parent_id":"0    ","menu_name":"Dashboard","menu_title":"Dashboard","url":"dashboard_c","position_menu":"1","parent_status":"0","menu_status":"1","fa_icon":"fa-dashboard","type":"1"}

我通过这样的 ajax 传递结果

$.ajax({
    url : "<?php echo site_url('cpanel/form_c/data_edit/')?>/" + id,
    type: "GET",
    dataType: "JSON",
    success: function(data)
    {

        $('[name="menu_id"]').val(data.id);
        $('[name="parent_id"]').val(data.parent_id);
        $('[name="menu_name"]').val(data.menu_name);
        $('[name="menu_title"]').val(data.menu_title);
        $('[name="url"]').val(data.url);
        $('[name="order"]').val(data.position_menu);
        $('[name="parent_status"]').val(data.parent_status);
        //$('[name="menu_status"]').val(data.menu_status);
        $('[name="fa_icon"]').val(data.fa_icon);
        $('[name="type_form"]').val(data.type);

        $.each (data, function (i, obj) {
          $(':radio[name="menu_status"][value=' + obj.menu_status + ']').prop('checked', true);
        });


        /*if (data.parent_status===1) {
          $('[name="menu_status"]').val("1").prop('checked',true);
        } else {
          $('[name="menu_status"]').val("0").prop('checked',true);
        }*/

        $('#modal_form').modal('show'); // show bootstrap modal when complete loaded
        $('.modal-title').text('Edit Menu'); // Set title to Bootstrap modal title

    },

有人可以帮我拿json数据来选择合适的选择吗?

【问题讨论】:

  • 我的问题是没有 3,我无法选择单选按钮

标签: php jquery json ajax codeigniter


【解决方案1】:

var data = {"menu_id":"00001","parent_id":"0    ","menu_name":"Dashboard","menu_title":"Dashboard","url":"dashboard_c","position_menu":"1","parent_status":"0","menu_status":"1","fa_icon":"fa-dashboard","type":"1"}

console.log(data.menu_status)
$('input[name=menu_status][value='+data.menu_status+']').prop('checked', true)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="col-md-4">

  <label>
    <input type="radio" name="menu_status" class="flat-red" value="1">Enable
  </label>
  <label>
    <input type="radio" name="menu_status" class="flat-red" value="0">Disable
  </label>
</div>

尝试这种方式,检查单选按钮将等于 data.menu_status 的值

【讨论】:

  • 我之前试过这个,但仍然没有得到我想要的结果。但单选按钮仍未选中
  • 你能在演示中看到启用被检查,因为如果值为 0,则值为 1,那么它将被禁用,可能data.menu_status 的值不是 1 或 0
【解决方案2】:

看起来单选按钮类是flat-red。你可以简单地使用这个而不是使用复杂的选择器。

你可以使用条件来代替。

if (data.parent_status == 1) {
     $('.flat-red').checked = true;
} 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-03
    • 1970-01-01
    • 1970-01-01
    • 2013-03-04
    • 1970-01-01
    • 1970-01-01
    • 2017-06-30
    • 1970-01-01
    相关资源
    最近更新 更多