控制器
/**
- ajax加载城市分类
*/ public function load_cities($id) { $id = (int) $id; if (!$id) { exit("{result:0,msg:‘错误的城市编号’}"); } $cities = ORM::factory(‘city’); $cats = $cities->where(‘province_id’,$id)->select_list(‘id’,’name’); if (!count($cats)) { $cats = array(); } ksort($cats); exit("{result:1,msg:".json_encode($cats)."}"); }
public function index()
{
//生成省市下拉列表
$provinces = ORM::factory(‘province’)->select_list(‘id’,’name’);
$provinces[’’] = ‘未选择’;
ksort($provinces);
$this->template->provinces = $provinces;
if ($data[‘province_id’]) {
$cities = ORM::factory(’city’)->where(’province_id’,$data[‘province_id’])->select_list(’id’,’name’);
}
$cities[’’] = ‘未选择’;
ksort($cities);
$this->template->cities = $cities;
$this->add_script(‘home/js/company/add.js?3’);
}
view
$(function() {
// ajax载入城市
$("#province_id").change(function() {
var province_id = $(this).val();
if (province_id != 0) {
$.ajax({
type : "POST",
cache : true,
url : "/admin/company/load_cities/" + province_id,
dataType : "json",
success : function(msg) {
if (msg.result) {
$("#city_id")[0].options.length = 1;
for (var i in msg.msg) {
$("#city_id")[0].options.add(new Option(msg.msg[i],i));
}
} else {
alert("操作失败," + msg.msg);
}
}
});
} else {
$("#city_id")[0].options.length = 1;
}
});
});