Java codeigniter相关下拉列表
我有两个正确工作的下拉列表。一个是ciudades,另一个是comunas,问题是我需要comunas列表依赖于ciudades,例如,当从列表中选择ciudad时,我加载与所选ciudad的id相关联的comunas 这是我的密码Java codeigniter相关下拉列表,java,php,ajax,codeigniter,Java,Php,Ajax,Codeigniter,我有两个正确工作的下拉列表。一个是ciudades,另一个是comunas,问题是我需要comunas列表依赖于ciudades,例如,当从列表中选择ciudad时,我加载与所选ciudad的id相关联的comunas 这是我的密码 <!-- language: lang-or-tag-here --> <label>Ciudad:</label><select class="form-control" name="idCiudad" r
<!-- language: lang-or-tag-here -->
<label>Ciudad:</label><select class="form-control" name="idCiudad" required autocomplete="off">
<option value="">Seleccione</option>
<?php foreach($listaciudades as $ciudad):?>
<option value="<?= $ciudad['idciudad']?>"
<?php if ($idCiudad == $ciudad['idciudad']) : ?> selected<?php endif; ?>
>
<?= $ciudad['nombre']?>
</option>
<?php endforeach; ?>
</select>
<label>Comuna:</label><select class="form-control" name="idComuna" required autocomplete="off">
<option value="">Seleccione</option>
<?php foreach($listacomunas as $comuna):?>
<option value="<?= $comuna['idcomuna']?>"
<?php if ($idComuna == $comuna['idcomuna']) : ?> selected<?php endif; ?>
>
<?= $comuna['nombre']?>
</option>
<?php endforeach; ?>
</select>
城市:
塞莱奇奥尼
我在这种情况下使用ajax
<select id="Firstclass" required>
<option value='1'>value1</option>
<option value='2'>value2</option>
</select>
<select id="Secondclass" required>
<option></option>
</select>
单靠CI是做不到的,我们可以在jquery ajax的帮助下实现
看法
在view/js文件中添加jquery ajax代码
$('#idCiudad').on('change',function(){
var idCiudad = $(this).val();
if(idCiudad){
$.ajax({
type:'POST',
url:'<?php echo base_url('controller/ajax_communas'); ?>',
data:'ciudades_id='+idCiudad,
success:function(data){
$('#idComuna').html('<option value="">Selecionee</option>');
var dataObj = jQuery.parseJSON(data);
if(dataObj){
$(dataObj).each(function(){
var option = $('<option />');
option.attr('value', this.id).text(this.name);
$('#idComuna').append(option);
});
}else{
//incase no data
$('#idComuna').html('<option value="">Not available</option>');
}
}
});
}else{
$('#idComuna').html('<option value="">Selcionee(or select one)</option>');
}
});
$('idCiudad')。在('change',function()上{
var idCiudad=$(this.val();
if(idCiudad){
$.ajax({
类型:'POST',
url:“”,
数据:'ciudades_id='+idCiudad,
成功:功能(数据){
$('#idComuna').html('Selecionee');
var dataObj=jQuery.parseJSON(数据);
if(dataObj){
$(dataObj).each(函数(){
var选项=$('');
option.attr('value',this.id).text(this.name);
$('idComuna')。附加(选项);
});
}否则{
//万一没有数据
$('#idComuna').html('不可用');
}
}
});
}否则{
$('idComuna').html('Selcionee(或选择一个)');
}
});
public function secondClass(){
$val=$this->input->post('val');
$secondClass=$this->RequestModel->getClass($val);
if($secondClass){
$secondClass=json_encode($secondClass);
print_r($secondClass);
}else {
echo 0 ;
}
<!-- language: lang-or-tag-here -->
<label>Ciudad:</label><select class="form-control" name="idCiudad" id="idCiudad" required autocomplete="off">
<option value="">Seleccione</option>
<?php foreach($listaciudades as $ciudad):?>
<option value="<?= $ciudad['idciudad']?>"
<?php if ($idCiudad == $ciudad['idciudad']) : ?> selected<?php endif; ?>
>
<?= $ciudad['nombre']?>
</option>
<?php endforeach; ?>
</select>
<label>Comuna:</label>
<select class="form-control" name="idComuna" id="idComuna" required autocomplete="off">
<option value="">Seleccione</option>
</select>
<?php
class your_controller{
//other codes
public function ajax_communas(){
//your code to fetch comunas
$data = array();
$ciudades_id = $this->input->post('ciudades_id');
if($country_id){
$data = $this->model_name->function_name_to_get_cammuna_via_ciudades_id($ciudades_id);
}
echo json_encode($data);
}
function function_name_to_get_cammuna_via_ciudades_id($id){
$this->db->select('table_name.id, table_name.name');
$this->db->where("parent_id",$id);
$query = $this->db->get();
$result = ($query->num_rows() > 0)?$query->result_array():FALSE;
return $result;
}
$('#idCiudad').on('change',function(){
var idCiudad = $(this).val();
if(idCiudad){
$.ajax({
type:'POST',
url:'<?php echo base_url('controller/ajax_communas'); ?>',
data:'ciudades_id='+idCiudad,
success:function(data){
$('#idComuna').html('<option value="">Selecionee</option>');
var dataObj = jQuery.parseJSON(data);
if(dataObj){
$(dataObj).each(function(){
var option = $('<option />');
option.attr('value', this.id).text(this.name);
$('#idComuna').append(option);
});
}else{
//incase no data
$('#idComuna').html('<option value="">Not available</option>');
}
}
});
}else{
$('#idComuna').html('<option value="">Selcionee(or select one)</option>');
}
});