заполнить таблицу выпадающим списком - PullRequest
0 голосов
/ 10 октября 2019

Я пытаюсь извлечь данные из таблицы sql «многие ко многим» (пожалуйста, обратитесь к загруженному изображению) и извлечь ее в таблицу представления (извлеките user_id по client_id), проблема в том, что раскрывающийся список больше не был доступен для выбора, когдаЯ добавил скрипт ajax, и таблица не загружала необходимую информацию. Пожалуйста, помогите мне решить эту проблему. Большое спасибо.

- ФОРМА И ТАБЛИЦА ПРОСМОТРА -

<select  id="client_id" name="client_id" class="form-control" >
   <option value="">Select Client</option>
   <?php foreach ($clientList as $value){ ?>
   <option data-client-id="<?=$value['id']?>" value="<?php echo $value['id'] ?>"><?php echo $value['account_name'] ?></option>
  <?php }?>
</select>

<table style="width: 100%" class="table">
   <thead><tr><th>No.</th><th>user name</th><th>sl_rate</th></tr></thead>
   <tbody id="table-details"></tbody>
</table>

--- AJAX ---

<script type="text/javascript">
$(document).ready(function(){
    $('#client_id').change(function(){ 
        var id=$(this).val();
        var base_url = '<?php echo base_url() ?>';
        var $sr = ($(".jdr1").length + 1);
        var rowid = Math.random();
        $.ajax({
            url: base_url + "client/getClientUser",
            method : "POST",
            data: {'client_id': client_id},
            async : true,
            dataType : "JSON",
            success: function(data){         
                var html = '';
                var i;
                for(i=0; i<data.length; i++){
                    html += '<tr class="jdr1" id="' + rowid + '">' +
                            '<td><span class="btn btn-sm btn-default">' + $sr + '</span><input type="hidden" name="count[]" value="'+Math.floor((Math.random() * 10000) + 1)+'"></td>' +
                            '<td><input type="text" id="user_id-' + $sr + '" name="user_id[]" value="" /></td>' +
                            '<td><input type="text" id="sl_rate-' + $sr + '" name="sl_rate[]" value="" /></td>' +
                            '</tr>'
                }
                $('#table-details').html(html);
                }
            });
            return false;
    });      
});

- КОНТРОЛЛЕР--

public function getClientUser(){
$client_id = $this->input->get('client_id');
$data = $this->ClientModel->getUserByClientId($client_id);
echo json_encode($data);}

- МОДЕЛЬ -

public function getUserByClientId($clientid){
   $this->db->select('client_user.id, client_user.user_id, users.givenname');
    $this->db->from('client_user');
    $this->db->join('users', 'users.id = client_user.client_id');
    $this->db->where('client_user.client_id', $clientid);
    $this->db->order_by('client_user.id');
    $query = $this->db->get();
    return $query->result_array();
}

Просмотр снимка экрана таблицы sql

1 Ответ

0 голосов
/ 10 октября 2019

Я думаю, что client_id переменная отсутствует, что вы передаете данные.

data: {'client_id': client_id}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...