【发布时间】:2014-01-09 14:36:49
【问题描述】:
我正在使用 codeigniter 动态获取国家/地区城市,但我得到以下信息
错误:消息:未定义变量:country_id 文件名:controllers/countries.php
我的控制器是:
class countries extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('Countries_model');
}
public function country()
{
$data=array();
$this->load->database();
$data['countries']=$this->Countries_model->get_countries();
$this->load->view('countries_view',$data);
}
public function get_cities()
{
$this->load->model('Countries_model');
$cities = $this->Countries_model->get_cities_by_country_id($country_id);
echo json_encode($cities);
}
查看:
<select id="country" name="country">
<option value="0">Select Country</option>
<?php foreach($countries as $val)
{
echo '<option value="'.$val['pkCountry'].'">'.$val['CountryName'].'</option>';
}
?>
</select>
<select id="city" name="city">
<option value="0">Select City</option>
</select>
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script>
$(document).ready(function(e) {
$("#country").change(function(e) {
var selectedValue = $(this).val();
$.getJSON("/countries/get_cities/" + selectedVal, {}, function(cities) {
if(cities) {
$("#city").html("<option value=" + MCity.pkMCity + ">"+ MCity.Name +"</option>");
}
});
});
});
</script>
型号:
public function get_cities_by_country_id($country_id) {
$this->db->where('fkMCountry', $country_id);
$query = $this->db->get('MCity');
return $query->result();
}
路线:
$route['countries/get_cities'] = 'countries/get_cities';
数据库表 国家:
pkCountry 国家/地区名称
城市:
fkM国家名称
【问题讨论】:
标签: php mysql codeigniter undefined