Отображение результатов поиска с помощью ajax - PullRequest
0 голосов
/ 20 сентября 2019

Пожалуйста, помогите, у меня есть данные, которые я загрузил с помощью ajax, но я запутался, как при вводе кода элемента, данных, сгенерированных в форме json, в таблицу

view

<div class="form-group col-md-4">
   <label for="field-1" class="control-label">KODE RUNSHEET</label>
   <input name="kd_runsheet[]" class="form-control" id="kode" type="text" placeholder="Masukan Kode Runsheet" style="" required="">
   <input name="id_runsheet" id="id_runsheet" class="form-control" type="hidden" style="">    
</div>

после поиска я хочу ввести результаты json в таблицу

<table class="table table-bordered" style="width: 100%; cellspacing: 0;">
     <thead>
         <tr>
         <th>Kode Outbound</th>
         <th>Kode Resi</th>
         </tr>
     </thead>
     <tbody id="isinya">

     </tbody>
  </table>

// search by ajax
 $(document).ready(function(){
     $('#kode').on('input',function(){
        var kode=$(this).val();
        $.ajax({
            type : "POST",
            url  : "<?php echo base_url('backend/history_status/caris')?>",
            dataType : "JSON",
            data : {kd_runsheet: kode},
            cache:false,
            success: function(data) {
            jmlData = data.length;
            tampung = "";
            for (a = 0; a < jmlData; a++) {
                tampung += "<tr>" +
                    "<td>" + (a + 1) + "</td>" +
                    "<td>" + data[a]["kd_runsheet"] + "</td>" +
                    "<tr/>";
            }
            $("tbody")[0].innerHTML += tampung;
            }
            });
    return false;
   });
});

Результат Json

[
  {"id_runsheet":"6","kd_runsheet":"RUNSHEET-0000-0003"},
  {"id_runsheet":"6","kd_runsheet":"RUNSHEET-0000-0003"}
]

Модель

 public function caridb($kode){
  $query = $this->db->query("SELECT runsheet.id_runsheet,kd_runsheet FROM runsheet 
  INNER JOIN runsheet_detail ON runsheet.id_runsheet=runsheet_detail.id_runsheet WHERE kd_runsheet ='$kode'");
  return $query->result();
}

Контроллер

public function caris(){  
$id=$this->input->post('kd_runsheet');
$data=$this->M_history_status->caridb($id);
echo json_encode($data);
}

Ответы [ 2 ]

0 голосов
/ 20 сентября 2019

Вы получаете массив JSON Object

Разделите каждый объект JSON с помощью цикла и добавьте его в таблицу:

success: function(data){
    for(i=0;i<data.length;i++){
        var row="<tr><td>"+data[i].id_runsheet+"</td><td>"+data[i].kd_runsheet+"</td></tr>";
        $("#isinya").append(row); //Adding rows in <tbody>
    }
}
0 голосов
/ 20 сентября 2019

Попробуйте что-нибудь подобное.Ваша разметка должна быть внутри цикла.

success: function(data){
    var markup = "<tr>
                   <td><input type='text'></td>
                  </tr>";
    $("#isinya").append(markup);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...