Action--------------------------------------------
<?php
// 订单模块
class DingdanAction extends CommonAction {
function _filter(&$map){
}
function _before_add() {
$map['LEVELNO'] = array('EQ',1);
$pcaM=D("PCA");
$pcalist=$pcaM->field('admdivno,ccityname')->where($map)->order("admdivno")->select();
$this->assign ( 'shenglist', $pcalist );
//dump($pcalist);
//dump($pcaM->_sql());
}
function GetPca() {
$admdivno=$_REQUEST["admdivno"];
//区域码2位时传递为市
if(strlen($admdivno)==2){
$PcaInfo["LEVELNO"]="2"; //代码位数
$where['ADMDIVNO'] = array('like',$admdivno.'__');
$where['LEVELNO'] = array('EQ',2);
$pcaM=D("PCA");
$pcalist=$pcaM->field('ADMDIVNO,CCITYNAME')->where($where)->order("admdivno")->select();
foreach($pcalist as $key=>$value){
$PcaInfo["PCALIST"].=",".$value["ADMDIVNO"]."|".$value["CCITYNAME"];
}
}
//区域码2位时传递为市
if(strlen($admdivno)==4){
$PcaInfo["LEVELNO"]="4"; //代码位数
$where['ADMDIVNO'] = array('like',$admdivno.'__');
$where['LEVELNO'] = array('EQ',3);
$pcaM=D("PCA");
$pcalist=$pcaM->field('ADMDIVNO,CCITYNAME')->where($where)->order("admdivno")->select();
foreach($pcalist as $key=>$value){
$PcaInfo["PCALIST"].=",".$value["ADMDIVNO"]."|".$value["CCITYNAME"];
}
}
$this->ajaxReturn($PcaInfo,"查询成功!",1);
}
}
?>
Model--------------------------------------------
<?php
// 地市模型
class PCAModel extends CommonModel {
protected $trueTableName = 'SYSTEM_T_DATA_PCA';
protected $fields = array(
"ADMDIVNO",
"CCITYNAME",
"ECITYNAME",
"LDDNO",
"TELLEN",
"LEVELNO",
"UPDATE_LABEL",
"UPDATED",
"STATUS",
"SORT",
"POSTCODE",
"ID_SPECLIS",
);
function _initialize() {
$this->pk = "ADMDIVNO";
}
}
?>
Tpl--------------------------------------------
<script>
function GetPca(admdivno){
$.ajaxSettings.global=false;
$.post('__URL__/GetPca/',{'admdivno':admdivno},function(data){
data=data.data;
if(data.PCALIST){
var PCALISTarr = new Array(); //地市组
var optionDefault; //默认值
var optionitmearr = new Array(); //地市代码
var optionitmestrlist; //增加选项
optionDefault="<option value='0'>--请选择--</option>";
PCALISTarr=data.PCALIST.split(",");
for (i=1;i<PCALISTarr.length ;i++ )
{
optionitmearr=PCALISTarr[i].split("|");
optionitmestrlist = optionitmestrlist + "<option value='"+optionitmearr[0]+"'>"+optionitmearr[1]+"</option>" ;
}
if(data.LEVELNO==2){
optionitmestrlist = optionDefault + optionitmestrlist;
$("#shi").empty();
$(optionitmestrlist).appendTo("#shi");
$("#qu").empty();
$(optionDefault).appendTo("#qu");
}
if(data.LEVELNO==4){
optionitmestrlist = optionDefault + optionitmestrlist;
$("#qu").empty();
$(optionitmestrlist).appendTo("#qu");
}
}
//alert(data.count.boxvalue);
//alert(data.count.sqlstr);
//alert(data.count.COUNTNUM);
});
$.ajaxSettings.global=true;
}
</script>
<div class="unit" style="width:500px">
<label>详细地址:</label>
<span class="unit" style="width:500px">
<select name="sheng" id="sheng" style=" width:115px;float:left" οnchange="GetPca(this.value);" >
<option value="0" >--请选择--</option>
<volist name="shenglist" id="shenglist">
<option value="{$shenglist.ADMDIVNO}" >{$shenglist.CCITYNAME}</option>
</volist>
</select>
<select name="shi" id="shi" style=" width:115px;float:left" οnchange="GetPca(this.value);" >
<option value="0" >--请选择--</option>
</select>
<select name="qu" id="qu" style=" width:115px;float:left" >
<option value="0" >--请选择--</option>
</select>
</span>
</div>
库结构---------------
create table SYSTEM_T_DATA_PCA
(
admdivno VARCHAR2(10) not null,
ccityname VARCHAR2(100),
ecityname VARCHAR2(100),
lddno VARCHAR2(10),
tellen NUMBER(38),
levelno NUMBER(38),
update_label VARCHAR2(1000),
updated DATE,
status NUMBER(38),
sort NUMBER(38),
postcode VARCHAR2(20),
id_speclis VARCHAR2(20)
)
地市数据---------------
http://download.csdn.net/detail/kingdtl/5580555