yii2 dropdown ajax 聯(lián)動(dependent)


原理:

通過下拉列表onchange事件,向服務(wù)器獲取另一個下拉列表的內(nèi)容(在控制器中填充actionMyproduct內(nèi)容)充坑。代碼中黑色加粗的地方是空易錯的地方减江。


視圖文件

<?php

use yii\widgets\ActiveForm;

use common\helpers\Url;

use yii\helpers\Html;

use common\enums\WorkOrderStatusEnum;

use common\helpers\ArrayHelper;

$form = ActiveForm::begin([

? ? 'id' => $model->formName(),

? ? 'enableAjaxValidation' => true,

? ? 'validationUrl' => Url::to(['ajax-edit', 'id' => $model['id']),

]);

?>

? ? <div class="modal-header">

? ? ? ? <button type="button" class="close" data-dismiss="modal" aria-label="Close">

? ? ? ? ? ? <span aria-hidden="true">×</span></button>

? ? ? ? <h4 class="modal-title">新工單</h4>

? ? </div>

? ? <div class="modal-body">

? ? ? ? <div class="row">

<div class="col-sm-4">

? ? ? ? <?= $form->field($model, 'member_id')->dropDownList(ArrayHelper::map($customer,'id', 'realname'),

? ? ? ? ['prompt'=>'-選擇客戶-',

? 'onchange'=>'

$.get( "'.Url::toRoute('/member/order/myproduct').'", { id: $(this).val() } )

? ? ? ? ? ? ? ? .done(function( data ) {

? ? ? ? ? ? ? ? ? ? $( "#'.Html::getInputId($model, 'product_id').'" ).html( data );

? ? ? ? ? ? ? ? });

']);

? ? ? ? ? ? ?>

? ? ? ? <?= $form->field($model, 'product_id')->dropDownList(ArrayHelper::map($myproduct,'id', 'categary_name'),

? ? ? ? ['prompt'=>'-選擇已購產(chǎn)品-']) ?>

</div>

? ? </div>

? ? <div class="modal-footer">

? ? ? ? <button type="button" class="btn btn-white" data-dismiss="modal">關(guān)閉</button>

? ? ? ? <button class="btn btn-primary" type="submit">保存</button>

? ? </div>

<?php ActiveForm::end(); ?>

視圖說明:$customer,$myproduct捻爷,是控制器給的變量辈灼。

控制器

? ? // 已購產(chǎn)品列表

? ? public function actionMyproduct($id)

? ? {

? ? ? ? $myproducts = Myproduct::find()

? ? ? ? ? ? ->where(['member_id' => $id])

? ? ? ? ? ? ->asArray()

? ? ? ? ? ? ->all();

? ? ? ? if(!$myproducts){

? ? ? ? ? ? echo "<option value='" . 0 . "'>"? . "</option>";

? ? ? ? }

? ? ? ? foreach ($myproducts as $myproduct) {

? ? ? ? ? ? echo "<option value='" . $myproduct['id'] . "'>" . $myproduct['categary_name'] . "</option>";

? ? ? ? }

? ? }

完成效果


[網(wǎng)上大多是某個人的內(nèi)容,缺少代碼也榄,轉(zhuǎn)載且不完整巡莹。如果可用,請點個zan]

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末甜紫,一起剝皮案震驚了整個濱河市降宅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌囚霸,老刑警劉巖腰根,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異拓型,居然都是意外死亡额嘿,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進(jìn)店門劣挫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來册养,“玉大人,你說我怎么就攤上這事揣云〔度澹” “怎么了冰啃?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵邓夕,是天一觀的道長。 經(jīng)常有香客問我阎毅,道長焚刚,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任扇调,我火速辦了婚禮矿咕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己碳柱,他們只是感情好捡絮,可當(dāng)我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著莲镣,像睡著了一般福稳。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上瑞侮,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天的圆,我揣著相機與錄音,去河邊找鬼半火。 笑死越妈,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的钮糖。 我是一名探鬼主播梅掠,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼店归!你這毒婦竟也來了瓤檐?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤娱节,失蹤者是張志新(化名)和其女友劉穎挠蛉,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肄满,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡谴古,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了稠歉。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片掰担。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖怒炸,靈堂內(nèi)的尸體忽然破棺而出带饱,到底是詐尸還是另有隱情,我是刑警寧澤阅羹,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布勺疼,位于F島的核電站,受9級特大地震影響捏鱼,放射性物質(zhì)發(fā)生泄漏执庐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一导梆、第九天 我趴在偏房一處隱蔽的房頂上張望轨淌。 院中可真熱鬧迂烁,春花似錦、人聲如沸递鹉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽躏结。三九已至址芯,卻和暖如春叉寂,著一層夾襖步出監(jiān)牢的瞬間校套,已是汗流浹背曼振。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工短条, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鳖悠,地道東北人琴许。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓凫佛,卻偏偏與公主長得像井辆,于是被迫代替她去往敵國和親语婴。 傳聞我的和親對象是個殘疾皇子描孟,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,870評論 2 361

推薦閱讀更多精彩內(nèi)容