Yii2實(shí)現(xiàn)上下聯(lián)動(dòng)下拉框功能的方法
本文實(shí)例講述了Yii2實(shí)現(xiàn)上下聯(lián)動(dòng)下拉框功能的方法。分享給大家供大家參考,具體如下:
首先我先解釋下什么是上下聯(lián)動(dòng)的下拉框
假如一個(gè)view里面有兩個(gè)select,第一個(gè)是公司名,第二個(gè)是分公司名。公司有多個(gè),每個(gè)公司又有多個(gè)分公司,我們實(shí)現(xiàn)的就是點(diǎn)擊當(dāng)前公司后,分公司里面顯示的事當(dāng)前公司的分公司。
或者你直接理解成選擇所屬省份后,下面的select顯示的是當(dāng)前省份的縣。
原理:
點(diǎn)擊第一個(gè)select后,執(zhí)行ajax獲取當(dāng)前公司的分公司,并使用jQuery修改分公司內(nèi)容
兩個(gè)select的部分視圖代碼如下:
<?= $form->field($model, 'companies_company_id')->dropDownList(
\yii\helpers\ArrayHelper::map(\backend\models\Companies::find()->all(),'company_id','company_name'),
[
'prompt'=>'select Company',
'onchange'=>'
$.post("index.php?r=branches/lists&id='.'"+$(this).val(),function(data){
$("select#departments-branches_branch_id").html(data);
});',
]
) ?>
<?= $form->field($model, 'branches_branch_id')->dropDownList(
\yii\helpers\ArrayHelper::map(\backend\models\Branches::find()->all(),'branch_id','branch_name'),
[
'prompt'=>'Select Branches',
]
) ?>
list方法代碼:
public function actionLists($id)
{
$countBranches = Branches::find()
->where(['companies_company_id' => $id])
->count();
$branches = Branches::find()
->where(['companies_company_id' => $id])
->all();
if ($countBranches > 0) {
foreach ($branches as $branche) {
echo "<option value='" . $branche->branch_id . "'>" . $branche->branch_name . "</option>";
}
} else {
echo "<option>-</option>";
}
}
更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結(jié)》、《php優(yōu)秀開發(fā)框架總結(jié)》、《smarty模板入門基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。
- Yii2 ActiveRecord多表關(guān)聯(lián)及多表關(guān)聯(lián)搜索的實(shí)現(xiàn)
- yii2實(shí)現(xiàn)根據(jù)時(shí)間搜索的方法
- yii2帶搜索功能的下拉框?qū)嵗斀?/a>
- 淺析Yii2 GridView 日期格式化并實(shí)現(xiàn)日期可搜索教程
- 淺析Yii2 GridView實(shí)現(xiàn)下拉搜索教程
- yii2框架中使用下拉菜單的自動(dòng)搜索yii-widget-select2實(shí)例分析
- Yii2基于Ajax自動(dòng)獲取表單數(shù)據(jù)的方法
- Yii2的XSS攻擊防范策略分析
- Yii2中Restful API原理實(shí)例分析
- Yii2實(shí)現(xiàn)同時(shí)搜索多個(gè)字段的方法
相關(guān)文章
thinkPHP+phpexcel實(shí)現(xiàn)excel報(bào)表輸出功能示例
這篇文章主要介紹了thinkPHP+phpexcel實(shí)現(xiàn)excel報(bào)表輸出功能,結(jié)合具體實(shí)例形式分析了thinkPHP整合PHPExcel實(shí)現(xiàn)針對(duì)Excel文件相關(guān)操作技巧,需要的朋友可以參考下2017-06-06
WordPress中訪客登陸實(shí)現(xiàn)郵件提醒的PHP腳本實(shí)例分享
這篇文章主要介紹了WordPress中訪客登陸實(shí)現(xiàn)郵件提醒的PHP腳本實(shí)例分享,類似于社交網(wǎng)站的異地IP登陸提醒,不過IP所在地顯示的實(shí)現(xiàn)并沒有在本文介紹范圍中,需要的朋友可以參考下2015-12-12
在Mac OS上搭建PHP的Yii框架及相關(guān)測(cè)試環(huán)境
這篇文章主要介紹了在Mac OS上搭建PHP的Yii框架及相關(guān)測(cè)試環(huán)境的方法,Mac自帶Apache與PHP等軟件,因而搭建開發(fā)環(huán)境時(shí)非常舒適,需要的朋友可以參考下2016-02-02
PHP簡單實(shí)現(xiàn)單點(diǎn)登錄功能示例
這篇文章主要介紹了PHP簡單實(shí)現(xiàn)單點(diǎn)登錄功能,結(jié)合實(shí)例形式分析了php基于session控制實(shí)現(xiàn)單點(diǎn)登錄的相關(guān)操作技巧,需要的朋友可以參考下2018-03-03
php批量更改數(shù)據(jù)庫表前綴實(shí)現(xiàn)方法
我們經(jīng)常會(huì)遇到替換或添加數(shù)據(jù)庫表前綴的問題,通過數(shù)據(jù)庫導(dǎo)出,在記事本上批量更改,然后再導(dǎo)出,這也是一種方法,但是不夠方便2013-10-10
php使用get和post傳遞數(shù)據(jù)出現(xiàn)414?Request-URI?Too?Large的原因分析及解決方案
Request-URI Too Large(請(qǐng)求URI過長)是一個(gè)HTTP錯(cuò)誤狀態(tài)碼,表示所發(fā)送的HTTP請(qǐng)求中的URI(統(tǒng)一資源標(biāo)識(shí)符)長度超過了服務(wù)器能夠處理的限制,這篇文章主要介紹了php使用get和post傳遞數(shù)據(jù)出現(xiàn)414?Request-URI Too?Large的解決方案,需要的朋友可以參考下2023-08-08
Laravel接收前端ajax傳來的數(shù)據(jù)的實(shí)例代碼
本篇文章主要介紹了Laravel接收前端ajax傳來的數(shù)據(jù)的實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-07-07

