簡體   English   中英

Codeigniter select 使用 ajax 盒子不能正常工作

[英]Codeigniter select box not working properly using ajax

我正在嘗試使用 ajax 制作一個 select 盒子,但它無法正常工作,我有兩個 select 盒子,一個用於國家,一個用於國家,當我在國家上使用 select 時,它應該在其他 8812742110088 中獲取 state select8 問題在 state select 框中什么都不顯示,但是當我檢查控制台時,它會給我 output 這樣的

<option value="">Select State</option><option value="603">Berat County</option><option value="629">Berat District</option>

我的控制器

 function fetch_state()
  {
   if($this->input->post('country_id'))
   {
   $data= $this->Seller_Model->fetch_state($this->input->post('country_id'));
     echo json_encode($data);
   }

我的 Model

function fetch_state($country_id)
 {
  $this->db->where('country_id', $country_id);
  $this->db->order_by('name', 'ASC');
  $query = $this->db->get('states');
  $output = '<option value="">Select State</option>';
  foreach($query->result() as $row)
  {
   $output .= '<option value="'.$row->id.'">'.$row->name.'</option>';
  
  }
  return $output;
 }

這是我的看法

 <div class="col-lg-6 col-md-12">
                        <div class="form-group looking">
                                      <select name="ad_country" id="country1"onchange="change1(this.value)"  aria-placeholder="Select Status" class="nice-select form-control wide " required >
                                          <option value="">Select Country</option>
                                          <?php foreach ($get_country as $country) {
                                             ?>
                                              <option value="<?php echo $country->id; ?>"  class="option"> 
                                                <?php echo $country->name; ?>
                                              </option>
                                          <?php } ?>

                                      </select>
                        </div>
                    </div>
                    
                    <div class="col-lg-6 col-md-12">
                        <div class="form-group looking">
                                      <select name="ad_state" id="state1"  aria-placeholder="Select Status" class="nice-select form-control wide " required >
                                         <option value="">Select State</option>
                                          
                                      </select>
                
                        </div>
                    </div>
<script>
function change1(vals)
{
     var country_id = $('#country1').val();
     
  if(country_id != '')
  {
   $.ajax({
    url:"<?php echo base_url(); ?>Seller_Controller/fetch_state",
    method:"POST",
    data:{country_id:country_id},
    dataType: 'json',
    success:function(data)
    {
        $('#state1').find('option').not(':first').remove();
                $('#ad_city1').find('option').not(':first').remove();
                $.each(data,function(index,data){
                    $('#state1').append('<option value="'+data['id']+'">'+data['name']+'</option>');
                });
       
    }
   });
  }
  else
  {
   $('#state1').html('<option value="">Select State</option>');
   $('#ad_city1').html('<option value="">Select City</option>');
  } 
}
</script>

這里的錯誤是在 model 你返回一個 HTML 你應該返回你的請求查詢的數組所以 function json_encode() 工作正常因為它正在獲取一個字符串所以當你在你的 ajax 中為每個它確定它得到一個錯誤或者控制台中的東西。

要調試,您可以使用瀏覽器的開發人員工具,您可以在控制台菜單中看到錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM