为了账号安全,请及时绑定邮箱和手机立即绑定

ajax选择具有多个相关数据的数据

ajax选择具有多个相关数据的数据

PHP
慕莱坞森 2023-08-11 17:08:11
我想显示从数据库循环的复选框,如果我尝试id_kendaraan在字段中选择数据,然后显示该 ID 中的数据。这是我的视图代码:<div class="modal fade" id="tambah" tabindex="-1" role="dialog" aria-labelledby="largeModal" aria-hidden="true">    <div class="modal-dialog">        <div class="modal-content">            <div class="modal-header">                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">x</button>                <h3 class="modal-title" id="myModalLabel">Tambah Pemeliharaan</h3>            </div>            <form class="form-horizontal" method="post" action="<?php echo base_url()?>Data/Pemeliharaan/Tambah">                <div class="modal-body">                    <div class="form-group">                    <label class="control-label col-xs-3">Nama Kendaraan</label>                        <div class="col-xs-8">                           <select class="form-control"  name="id_kendaraan" id="id_kendaraan" required>                            <option>Pilih Kendaraan</option>                            <?php                            if(!empty($kendaraan_)) {                            foreach ($kendaraan_ as $isi) {                            ?>                            <option value="<?php echo $isi['id_kendaraan']?>"><?php echo $isi['nama']?> - <?php echo $isi['platno']?></option>                            <?php }} ?>                            </select>                        </div>                    </div>                    <?php                    $index =0;                              foreach ($subkriteria_ as $kr_key => $kriteria) {                    ?>我的控制器:function GetKendaraanById(){        $id_kendaraan=$this->input->post('id_kendaraan');        $data=$this->PemeliharaanModel->GetById($id_kendaraan);        echo json_encode($data);      }我从视图$id_kendaraan中获取参数的数据。但如果我尝试这段代码,字段 tahun_beli, id jenis 会成功显示在视图中。但备件中的复选框循环夸大了。我尝试了json,数据是正确的,显示tahun_beli,,id_jenis是显示,sparepart是由id_jenis显示
查看完整描述

1 回答

?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

我检查了你的代码,我认为问题出在这一点:


<script type="text/javascript">

$(document).ready(function(){

        $('#id_kendaraan').on('input',function(){

            

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

        $.ajax({

            type : "POST",

            url  : "<?php echo base_url('Data/Pemeliharaan/GetKendaraanById')?>",

            dataType : "JSON",

            data : {id_kendaraan: id_kendaraan},  

            cache:false,

            success: function(data){

                $('#sparepartList').empty(); // clear all sparepart checkboxes

                $.each(data, function(id_kendaraan, tahun_beli, id_jenis){

                    $('[name="isi_kriteria[]"]').val(data.tahun_beli);

                    $('[name="id_jenis"]').val(data.id_jenis);

                    $.each(data.spareparts, function (key, value) {

                        let li = $('<li><input type="checkbox" name="id_sparepart[]" value="' + value.id_sparepart + '" />' +

                                '<input type="text" name="sparepart" value="' + value.sparepart + '" /></li>');

                        $('#sparepartList').append(li);

                    });

                });

                    

            }

        });

        return false;

    });

});

</script>

尝试删除第一个 $.each,您的代码将是这样的


<script type="text/javascript">

$(document).ready(function(){

        $('#id_kendaraan').on('input',function(){

            

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

        $.ajax({

            type : "POST",

            url  : "<?php echo base_url('Data/Pemeliharaan/GetKendaraanById')?>",

            dataType : "JSON",

            data : {id_kendaraan: id_kendaraan},  

            cache:false,

            success: function(data){

                $('#sparepartList').empty(); // clear all sparepart checkboxes

                

       $('[name="isi_kriteria[]"]').val(data.tahun_beli);

                    $('[name="id_jenis"]').val(data.id_jenis);

                    $.each(data.spareparts, function (key, value) {

                        let li = $('<li><input type="checkbox" name="id_sparepart[]" value="' + value.id_sparepart + '" />' +

                                '<input type="text" name="sparepart" value="' + value.sparepart + '" /></li>');

                        $('#sparepartList').append(li);

                    });

            }

        });

        return false;

    });

});

</script>

希望它能起作用



查看完整回答
反对 回复 2023-08-11
  • 1 回答
  • 0 关注
  • 87 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信