先隨手建庫 city 和province
| province | create
table
`province` (
`id`
int(11) not
null auto_increment,
`province`
varchar(255) not
null,
`provinceid`
int(10) unsigned not
null comment '省份id,外聯市區id',
primary
key (`id`),
key`provinceid` (`provinceid`)
) engine=innodb auto_increment=35
default charset=utf8 |
| city | create
table
`city` (
`id`
int(11) not
null auto_increment,
`cityid`
int(10) unsigned not
null,
`city`
varchar(50) not
null,
`provinceid`
int(10) unsigned not
null,
primary
key (`id`),
key`provinceid` (`provinceid`),
key`cityid` (`cityid`),
constraint
`city_ibfk_1`
foreign
key (`provinceid`) references
`province` (`provinceid`)
) engine=innodb auto_increment=346
default charset=utf8 comment='行政區域地州市資訊表' |
然後隨手再點個users的庫
| users | create
table
`users` (
`uid` bigint(20) unsigned not
null auto_increment,
`user`
int(11) not
null,
`name`
varchar(200) not
null
default
'', `desc` text not
null,
`cityid`
int(10) unsigned not
null,
`provinceid`
int(10) unsigned not
null,
primary
key (`uid`),
key`city_id` (`cityid`),
key`provinceid` (`provinceid`),
constraint
`users_ibfk_2`
foreign
key (`cityid`) references
`city` (`cityid`),
constraint
`users_ibfk_1`
foreign
key (`provinceid`) references
`province` (`provinceid`)
) engine=innodb default charset=utf8 |
好了,後面喜歡的話就新增點資料, 接下來開始寫**.
只要需要2步 view.php中**如下
<?php
use yii\helpers\html;
use yii\widgets\activeform;
?>
<?php $form = activeform::begin(); ?>
<?=
$form
->field($model, 'user')->textinput() ?>
<?=
$form
->field($model, 'name')->textinput([
'maxlength'
=>
true
]) ?>
<?=
$form
->field($model, 'provinceid')->label('province')->dropdownlist(
province::find()
->
select([
'province','provinceid'])
->indexby('provinceid')
->column(),
['prompt'
=>
'請選擇省份',
'onchange'
=>
' $.post("index.php?r=users/list&id='
.'"+$(this).val(),function(data));',
]) ?>
<?= $form->field($model, 'cityid')->dropdownlist(
city::find()->select(['city','cityid'])->indexby('cityid')->column(),
['prompt'=>'選擇市區',
]) ?>
<?= $form->field($model, 'desc')->textarea(['
rows
' => 10]) ?>
<?= html::submitbutton($model->isnewrecord ? 'create' : 'update', ['class' => $model->isnewrecord ? 'btn btn-success
' : 'btn btn-primary
']) ?>
<?php activeform::end(); ?>
上面問題最關鍵的就是onchange方法. 是用ajax調取controller來影響下面的欄
controller中**如下
public static function actionlist($id=230000) //這個$id除錯用,可以直**到除錯資料又沒問題
} else
}
二級聯動,多級聯動
首先,二級聯動,還是多級聯動小夥伴們不要怕,其實很簡單。首先,理清思路 首先第乙個頁面,肯定是進來就需要載入的 然後通過觸發第乙個事件,一般都是select寫 聯動,然後通過事件方法將引數 二級需要的條件 傳送給下乙個 需要用的地方 需要展示的地方 上 注意 function 這個方法裡是頁面在載入...
二級聯動 js
在html部分只寫兩個select標籤 option標籤將用js的方法寫入 onchange 內容發生改變事件 用於select下拉列表中後的內容發生改變時候的觸發 核心部分就是js裡面的內容 建立乙個物件data來儲存資料 data 首先通過for迴圈來新增第一級裡面的內容 province va...
Ajax 二級聯動
準備工作匯入vue jquery的js包 導包部分省略不寫 接下來應該先寫html頁面的 姓名 級部 請選擇級部 班級 請選擇班級 性別 男 請選擇省 省請選擇市 市愛好 籃球 足球 排球 簡介 接下來是jquery的例項 控制器 例項部分 查詢年級的表 return 年級表查詢的結果集 respo...