在yii框架中php三级联动,Yii中省市区三级联动 | 恋香缘

1.view层

$this->pageTitle = '个人设置 - ' . Yii::app()->name;

echo $this->renderPartial('optionSidebar');

echo CHtml::dropDownList('idProvince', '', CHtml::listData(CActiveRecord::model('AddProvinces')->findAll(), 'provinceid', 'province'),

array(

'prompt' => '选择省份',

'ajax' => array(

'type' => 'POST',

'url' => $this->createUrl('updateCities'),

'dataType' => 'json',

'data' => array('idProvince' => 'js:this.value'),

'success' => 'function(data) {

$("#idCity").html(data.dropDownCities);

$("#idDistrict").html(data.dropDownDistricts);

}',

)));

echo CHtml::dropDownList('idCity', '', array(),

array(

'prompt' => '选择城市',

'ajax' => array(

'type' => 'POST',

'url' => $this->createUrl('updateDistricts'),

'update' => '#idDistrict',

'data' => array('idCity' => 'js:this.value'),

)));

echo CHtml::dropDownList('idDistrict', '', array(), array('prompt' => '选择区域'));

?>

2.controller层

public function actionUpdateCities()

{

//Cities

$data = AddCities::model()->findAll('provinceid=:idProvince', array(':idProvince'=>(int) $_POST['idProvince']));

$data = CHtml::listData($data,'cityid','city');

$dropDownCities = "选择城市";

foreach($data as $value=>$name)

$dropDownCities .= CHtml::tag('option', array('value'=>$value),CHtml::encode($name),true);

//District

$dropDownDistricts = "选择区域";

// return data (JSON formatted)

echo CJSON::encode(array(

'dropDownCities'=>$dropDownCities,

'dropDownDistricts'=>$dropDownDistricts

));

}

public function actionUpdateDistricts()

{

$data = AddAreas::model()->findAll('cityid=:idCity', array(':idCity'=>(int) $_POST['idCity']));

$data = CHtml::listData($data,'areaid','area');

echo "选择区域";

foreach($data as $value=>$name)

echo CHtml::tag('option', array('value'=>$value),CHtml::encode($name),true);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值