【问题标题】:if else in .append based value of field in json to selected a select option htmlif else in .append 基于 json 中字段的值来选择一个选择选项 html
【发布时间】:2015-12-20 19:12:01
【问题描述】:
$(document).on('click', '.bg-maroon', function () {

        var id = $(this).val();

        $.ajax({
            url: "<?= base_url('surveyor/c_surveyor_inspection/get_data_untuk_inspection_surveyor_dua'); ?>",
            type: "POST",
            data: {
                ID: id
            },
            dataType: 'json',
            success: function (response) {
                console.log(response);
            }

我得到这样的 json :

{
"header": [{
    "NO_INSPECTION": "55",
    "ID_CONDITION": "3",
    "NAMA_CONDITION": "CLEAN"
}],
"transaction": [{
    "NO_INSPECTION": "55",
    "ID_ITEM_INSPECTION": "1",
    "NOMOR_ITEM_INSPECTION": "1",
    "NAMA_ITEM_INSPECTION": "Protection Box Cover",
    "CONDITION": "9",
    "ALIAS": "BE",
    "NAME_ITEM": "BENT"
}, {
    "NO_INSPECTION": "55",
    "ID_ITEM_INSPECTION": "2",
    "NOMOR_ITEM_INSPECTION": "2a",
    "NAMA_ITEM_INSPECTION": "Manhole LID, Fastening Bolts",
    "CONDITION": "7",
    "ALIAS": "B",
    "NAME_ITEM": "BROKEN"
}]
}

请参阅transaction 数组 json。有两个对象将表示为两行 html 表。我与 jquery 合作 php。 我的问题是,我想根据上面的"ID_ITEM_INSPECTION" 字段选择选项。这是我将在成功ajax中添加的jquery combine php:

$.each(response.transaction, function(i, item){
    console.log(response.transaction[i].ID_ITEM_INSPECTION);
      $('#list2').find('tbody').append('<tr class="list2_var">' +
         '<td>' +
             '<select class="form-control" name="list2_item_0" id="list2_name_0">' +
                 '<option disabled selected>Pilih jenis kerusakan... </option>' +
                 '<?php
                     foreach ($top_item->result() as $v) {
                       echo '<option value =' . $v->ID_ITEM_INSPECTION . ' >' . $v->NOMOR_ITEM_INSPECTION . '    - ' . $v->NAMA_ITEM_INSPECTION . '</option>';
                   }
                  ?>' +
           '</select>' +
        '</td>' +
        '<td class="del_area04">' +
          '<button type="button" class="list2_del btn btn-block btn-danger" style="display: block;"><i class="fa fa-trash-o"></i></button>' +
        '</td>' +
    '<tr>');
  });

因此,条件是,如果 response.transaction[i].ID_ITEM_INSPECTION 上的 select 选项相同,则 select 中的选项将被选中。可能吗 ? 非常感谢任何帮助

【问题讨论】:

  • 您是否可以在 php 中访问 ID_ITEM_INSPECTION(来自 JSON)?
  • json_decode 是什么意思?
  • 不,我的意思是如果你在 php 中有变量,你可以这样做:echo '&lt;option value="..."' + YOUR_VAR == $v-&gt;ID_ITEM_INSPECTION ? 'selected="selected"' : '""'&gt;
  • 对不起,我不是,因为基于 json 的回调 ajax。

标签: php jquery json


【解决方案1】:

append 函数之后添加此代码:

$('.form-control option[value="' + response.transaction[i].ID_ITEM_INSPECTION + '"]').prop('selected', true);

在 jsFiddle 上看这个例子:https://jsfiddle.net/gjeaqx9L/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-26
    • 2021-09-10
    • 1970-01-01
    • 1970-01-01
    • 2017-05-28
    • 1970-01-01
    • 2011-11-06
    • 2016-12-29
    相关资源
    最近更新 更多