Codeigniter 显示所选 ID 的自动字段

Codeigniter displays the auto field of the selected id

我正在使用下拉列表显示基于使用 ajax onchange 选择的 ID 的字段。

我要显示的字段是 kode_deskripsi 和 time_in。

这是我的看法

            <div class="form-group">
                <div class="flex flex-col sm:flex-row items-center mt-3">
                    <label class="sm:w-40 sm:mr-5">Kode Penitipan</label>
                    <select name="kode_penitipan" id="kode_penitipan" class="input w-full border mt-2 flex-1" onchange="getdata(this)">
                        <option>--Pilih Kode Penitipan--</option>
                        <?php foreach ($getKodePenitipan as $key): ?>
                            <option value="<?= $key->kode_penitipan ?>"><?= $key->kode_penitipan ?></option>
                        <?php endforeach ?>
                    </select>
                </div>
            </div>
            <div class="form-group">
                <div class="flex flex-col sm:flex-row items-center mt-3">
                    <label class="sm:w-40 sm:mr-5">Kode Deskripsi</label>
                    <input type="text" name="kode_deskripsi" id="kode_deskripsi" class="input w-full border mt-2 flex-1" readonly>
                </div>
            </div>
            <div class="form-group">
                <div class="flex flex-col sm:flex-row items-center mt-3">
                    <label class="sm:w-40 sm:mr-5">Waktu Masuk</label>
                    <input type="text" name="time_in" id="time_in" class="input w-full border mt-2 flex-1" readonly>
                </div>
            </div>

这是我在视图文件

中制作的javascript
<script type="text/javascript">
function getdata(kode_penitipan) {
    var kode_penitipan = $("#kode_penitipan").val();
    $.ajax({
        url: '<?php echo site_url('transaksi/getPenitip') ?>',
        data: "kode_penitipan="+kode_penitipan,
        success: function (data){
            // $('#kode_deskripsi').val(data.kode_deskripsi);
            // $('#time_in').val(data.time_in);
            console.log(data);
        }
    });
}
那么这是我的控制器
public function getPenitip()
{
    $kode_penitipan = $this->input->post('kode_penitipan');
    // $query = $this->db->query('penitipan')->where('kode_penitipan', $kode_penitipan);
    $data = $this->M_Transaksi->getAutocomplete($kode_penitipan);
    echo json_encode($data);
}

这是我的模型

public function getAutocomplete($kode_penitipan)
{
    $this->db->where('kode_penitipan', $kode_penitipan);
    $this->db->where('status', '1');
    $query = $this->db->get('penitipan');
    if ($query->num_rows()>0) {
        foreach ($query as $key) {
            $data = array(
                'kode_deskripsi' => $key->kode_deskripsi,
                'time_in' => $key->time_in,
            );
        }
        return $data;
    }
}

我的问题是我要显示的字段没有出现,我尝试使用console.log(数据)结果是空的。我的代码有问题吗?帮帮我..

对不起,如果我的英语不完美,希望我表达的观点能被理解

您的 jQuery / Ajax 代码如下:-

$("#kode_penitipan").change(function(){
  var kode_deskripsi = $(this).val();
  var time_in = $(this).val();
  
  $("#kode_deskripsi").val(kode_deskripsi);
  $("#time_in").val(time_in);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

<label>--Pilih Kode Penitipan--</label>
<select name="kode_penitipan" id="kode_penitipan">
<option value="0">Select Option Value</option>
<option value="Penitipan1">Penitipan1</option>
<option value="Penitipan2">Penitipan1</option>
</select>
<br>
<input type="text" name="kode_deskripsi" id="kode_deskripsi">


<input type="text" name="time_in" id="time_in">