Как использовать JQuery Looping PHP на одной странице

Я использую цепочку выбора для выбора области. У меня есть цикл 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 ответ

Вы можете добавить атрибут данных к вашему .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;
    });
});

С некоторыми дополнительными разъяснениями по вашей конкретной проблеме, я смогу помочь вам найти лучшие альтернативы.

Другие вопросы по тегам