我使用链式选择来选择区域。我使用了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>
我无法使用它。还有更好的主意吗?
提前致谢,
答案 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;
});
});
如果对您的具体问题有更多解释,我可以帮助您找到更好的选择。