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">
我正在使用下拉列表显示基于使用 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">