下拉子菜单不显示任何数据

Dropdown child menu not displaying any data?

本文关键字:显示 任何 数据 菜单      更新时间:2023-09-26

在我的codeigniter表单中有这个简单的下拉菜单。当点击dzongkhag(地区)时,它应该显示地质(城镇)列表,但是,它没有这样做。我的下拉菜单不是最好的,但这是我在尝试(许多周)多次失败后能想到的。如果有人能帮我解决这个问题,我将不胜感激。

下面是代码片段。view.php

<label >Dzongkhag: </label>
<select id="user_dzongkhag" name="dzongkhag" >
  <option>Select Dzongkhag</option>
  <option value="Bumthang">Bumtang</option>
  <option value="Chhukha">Chhukha</option>
  <option value="Dagana">Dagana</option>
  <option value="Gasa">Gasa</option>
  <option value="Haa">Haa</option>
  <option value="Lhuentse">Lhuntse</option>
  <option value="Monggar">Monggar</option>
  <option value="Paro">Paro</option>
  <option value="Pema Gatshel">Pema Gatshel</option>
  <option value="Punakha">Punakha</option>
  <option value="Samdrup Jongkhar">Samdrup Jongkhar</option>
  <option value="Samtse">Samtse</option>
  <option value="Sarpang">Sarpang</option>
  <option value="Thimphu">Thimphu</option>
  <option value="Trashigang">Trashigang</option>
  <option value="Trashi Yangtse">Trashi Yangtse</option>
  <option value="Trongsa">Trongsa</option>
  <option value="Tsirang">Tsirang</option>
  <option value="Wangdue Phodrang">Wangdue Phodrang</option>
  <option value="Zhemgang">Zhemgang</option>                
</select>
<label >Geog:</label>
<select id="user_geog" name="geog" >
  <option> select geog</option>
</select>

javascript(我在view.php而不是js文件夹中实现它)

$(document).ready(function(){
  $('#user_dzongkhag').change(function(){
    $('#user_geog').html('<option> Fetching...</option>');
    var user_dzongkhag =$('#user_dzongkhag').val();
    //alert(new_div);
    $.ajax({
      type:"post",
      data:"user_dzongkhag="+user_dzongkhag,
      url:"<?php echo site_url('ajax/select_auth_geog/'); ?>",
      cache:false,
      success:function(resp){
        //alert(resp);
        $('#user_geog').html(resp);
      }
    });
  });
});

controller.php

public function select_auth_geog(){
  $user_dzongkhag= $this->input->post('user_dzongkhag');
  $returnGeog=$this->ajax_model->select_auth_geog($user_dzongkhag);
  foreach ($returnGeog as $key) {
    echo '<option value="'.$key['name'].'">'.$key['name'].' </option>';
  }
}

model.php

public function select_auth_geog($user_dzongkhag){
  if($user_dzongkhag=='Bumtang'){
    $user_dzongkhag=1;
  }elseif($user_dzongkhag=='Chhukha'){
    $user_dzongkhag=2;
  }elseif($user_dzongkhag=='Dagana'){
    $user_dzongkhag=3;
  }elseif($user_dzongkhag=='Gasa'){
    $user_dzongkhag=4;
  }elseif($user_dzongkhag=='Haa'){
    $user_dzongkhag=5;
  }elseif($user_dzongkhag=='Lhuntse'){
    $user_dzongkhag=6;
  }elseif($user_dzongkhag=='Monggar'){
  ......
  ........

尝试切换这两行,您可能会在将选择框值存储在user_dzongkhag中之前删除它。

$(document).ready(function(){
  $('#user_dzongkhag').change(function(){
    $('#user_geog').html('<option> Fetching...</option>');  <-------------
    var user_dzongkhag =$('#user_dzongkhag').val();         <-------------
    //alert(new_div);
    $.ajax({
      type:"post",
      data:"user_dzongkhag="+user_dzongkhag,
      url:"<?php echo site_url('ajax/select_auth_geog/'); ?>",
      cache:false,
      success:function(resp){
        //alert(resp);
        $('#user_geog').html(resp);
      }
    });
  });
});