如何在一个页面中使用jquery循环php

时间:2016-07-30 21:36:46

标签: javascript php jquery codeigniter chained-select

我使用链式选择来选择区域。我使用了foreach循环和这个javascript。

function tampilKabupaten()
 {
     kdprop = document.getElementById("provinsi_id").value;
     $.ajax({
         url:"<?php echo base_url();?>data_master/pilih_kabupaten/"+kdprop+"",
         success: function(response){
         $("#kabupaten_id").html(response);
         },
         dataType:"html"
     });
     return false;
 }

function inputKabupaten()
     {
        document.getElementById("id_kabupaten").defaultValue = document.getElementById("kabupaten_id").value;
     }

这是我的观点

<?php foreach $anggota as $rowang { ?>

            <div class="row form-group">
          <label class="col-sm-3">No Telepon</label>
            <div class="col-sm-9">
              <input type="text" name="no_telp" class="form-control input-sm numbersOnly" value="<?php echo $rowangg->no_telp?>">
            </div>
       </div>

       <div class="col-sm-4">
            <?php
            $style_provinsi='class="form-control autocomplete input-sm" id="provinsi_id" onChange="tampilKabupaten()"';
            echo form_dropdown('provinsi_id',$provinsi,'',$style_provinsi);
            ?>
       </div>

      <div class="col-sm-4">
        <?php
        $style_kabupaten='class="form-control autocomplete input-sm" id="kabupaten_id" onChange="inputKabupaten()"';
            echo form_dropdown("kabupaten_id",array('Pilih Kabupaten'=>'- Pilih Kabupaten -'),'',$style_kabupaten);
            ?>
 <input id="id_kabupaten" type="hidden" name="id_kabupaten" required>
      </div>

<?php } ?>

这是我的控制器(data_master)

function pilih_kabupaten(){
        $keyword = $this->uri->segment(3);
        $data['kabupaten']=$this->m_data->ambil_kabupaten($keyword);
        $this->load->view('data_master/v_drop_down_kabupaten',$data);
    }

这是我的模型(m_data)

function ambil_kabupaten($keyword){
    $this->db->where('id_provinsi',$keyword);
    $this->db->order_by('nama_kabupaten','asc');
    $sql_kabupaten=$this->db->get($this->tabel_kabupaten);
    if($sql_kabupaten->num_rows()>0){

        foreach ($sql_kabupaten->result_array() as $row)
        {
            $result[$row['id_kabupaten']]= ucwords(strtolower($row['nama_kabupaten']));
        }
        } else {
           $result['-']= '- Belum Ada Kabupaten -';
        }
        return $result;
    }

另一个视图(data_mater / v_drop_down_kabupaten)

<?php        
$style_kabupaten='id="kabupaten_id"';
echo form_dropdown("kabupaten_id",$kabupaten,'',$style_kabupaten);
?>

但是那个脚本只会影响一行循环,所以我尝试将脚本放在循环中。

<script type="text/javascript">
  $(document).ready(function () {
      $(".tampilKabupaten<?php echo $rowangg->id_anggota;?>").change(function(){
         kdprop = document.getElementById("provinsi_id<?php echo $rowangg->id_anggota;?>").value;
         $.ajax({
             url:"<?php echo base_url();?>data_master/pilih_kabupaten/"+kdprop+"",
             success: function(response){
             $("#kabupaten_id<?php echo $rowangg->id_anggota;?>").html(response);
             },
             dataType:"html"
         });
         return false;
      });
    });
</script>

我无法使用它。还有更好的主意吗?

提前致谢,

1 个答案:

答案 0 :(得分:0)

您可以向被调用的.tampilKabupaten添加数据属性,例如data-my-id,然后使用此JS代码:

$(document).ready(function() {
    $(".tampilKabupaten").change(function() {
        //Get the ID
        kdprop = $(this).data("myId");
        $.ajax({
            url: "<?php echo base_url();?>data_master/pilih_kabupaten/" + kdprop,
            success: function(response) {
                //Change this and don't forget your HTML !
                $("#kabupaten_id_"+kdprop).html(response);
            },
            dataType: "html"
        });
        return false;
    });
});

如果对您的具体问题有更多解释,我可以帮助您找到更好的选择。