簡體   English   中英

在另一個 select 上更改 select 框值在 codeigniter 中不起作用

[英]changing select box on another select box value not working in codeigniter

我有一個 codeigniter 網站,其中有一個表單供用戶輸入 select 類別和子類別,當用戶選擇類別時,子類別下拉列表應相應顯示,我執行了以下代碼:

 public function subcategories() { $category = $this->input->post('category'); $query = $this->db->query('SELECT name FROM subcategory WHERE parentcategory='.$category); $data['subcategories'] = $query->result_array(); $this->load->view('homecontroller/subcategories', $data); echo $category; }

在子類別中.php

 <?php foreach ($subcategories as $c): ?> <option value="<?php echo $c['name']?>"><?php echo $c['name']?></option> <?php endforeach; ?>

在我看來:

 $(document).ready(function() { $('#sl_countries').change(function() { $('#sl_cities').load("<?php echo site_url('index.php/homecontroller/subcategories')?>", { category: $(this).val() }); }); });
 <div class="form-group col-md-6"> <label for="inputEmail4">Product Category</label> <select id="sl_countries" class="form-control" name="cname" aria-label="Default select example"> <?php foreach($listcategory as $val){ echo '<option value="'.$val->name.'">'.$val->name.'</option>'; }?> </select> </div> <div class="form-group col-md-6"> <label for="inputEmail4">Sub Category</label> <select class="form-control" name="sname" id="sl_cities"></select> </div>

但是這不起作用,當我檢查控制台時出現如下錯誤:

您的 SQL 語法有誤; 檢查與您的 MariaDB 服務器版本對應的手冊,了解在第 1 行 SELECT name FROM subcategory WHERE parentcategory= 附近使用的正確語法

誰能告訴我這里出了什么問題,在此先感謝

使用這種方式:-

jQuery Ajax 代碼:-

<script>
$(document).ready(function(){
 $('#country').change(function(){
  var country_id = $('#country').val();
  if(country_id != '')
  {
   $.ajax({
    url:"<?php echo base_url(); ?>dynamic_dependent/fetch_state",
    method:"POST",
    data:{country_id:country_id},
    success:function(data)
    {
     $('#state').html(data);
     $('#city').html('<option value="">Select City</option>');
    }
   });
  }
  else
  {
   $('#state').html('<option value="">Select State</option>');
   $('#city').html('<option value="">Select City</option>');
  }
 });
 
  });
  </script>

Controller 代碼:-

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Dynamic_dependent extends CI_Controller {
 
function fetch_state()
 {
  if($this->input->post('country_id'))
  {
   echo $this->dynamic_dependent_model->fetch_state($this->input->post('country_id'));
  }
 }
 }
 ?>

Model 代碼:-

<?php
class Dynamic_dependent_model extends CI_Model
{

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

查看代碼:-

<div class="form-group">
   <select name="country" id="country" class="form-control input-lg">
    <option value="">Select Country</option>
    <?php
    foreach($country as $row)
    {
     echo '<option value="'.$row->country_id.'">'.$row->country_name.'</option>';
    }
    ?>
   </select>
  </div>
  <br />
  <div class="form-group">
   <select name="state" id="state" class="form-control input-lg">
    <option value="">Select State</option>
   </select>
  </div>

暫無
暫無

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

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