Yii2中DropDownList簡單用法示例
本文實(shí)例講述了Yii2中DropDownList簡單用法。分享給大家供大家參考,具體如下:
這里以實(shí)際應(yīng)用為例講解Yii2 DropDownList用法。
有一張分類表,無限極分類那種,表結(jié)構(gòu)如下,pid就是父分類ID
這里我們要實(shí)現(xiàn):
新建分類的時(shí)候,父分類可以從所有分類中任選一個(gè)或者不選
編輯分類時(shí),父分類不能選擇當(dāng)前編輯的分類。。。如果選自己,父分類就是自己了,必然出錯(cuò)!
實(shí)現(xiàn)代碼如下,我就貼上form的全部代碼吧
<?php
use common\models\Category;
use yii\helpers\ArrayHelper;
use yii\helpers\Html;
use yii\widgets\ActiveForm;
/* @var $this yii\web\View */
/* @var $model common\models\Category */
/* @var $form yii\widgets\ActiveForm */
?>
<div class="category-form">
<div class="row">
<?php
if (!$model->isNewRecord) {//如果是編輯分類
$cate = ArrayHelper::map(Category::find()->andWhere('id != :id', [':id' => $model->id])->all(), 'id', 'title');
} else {//如果是新建分類
$cate = ArrayHelper::map(Category::find()->all(), 'id', 'title');
}
?>
<div class="col-md-6 col-md-offset-3">
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'title')->textInput(['maxlength' => 100])->label("分類標(biāo)題") ?>
<?= $form->field($model, 'name')->textInput(['maxlength' => 100])->label("分類別名") ?>
<?= $form->field($model, 'pid')->dropDownList($cate, ['prompt' => '請選擇父分類'])->label("父分類") ?>
<?= $form->field($model, 'keywords')->textarea(['maxlength' => 255])->label("分類關(guān)鍵詞") ?>
<?= $form->field($model, 'description')->textarea(['maxlength' => 255])->label("分類描述") ?>
<div class="form-group">
<div class="row">
<div class="col-md-6 col-md-offset-3">
<?= Html::submitButton($model->isNewRecord ? '創(chuàng)建' : '更新', ['class' => $model->isNewRecord ? 'btn btn-block btn-success' : 'btn btn-block btn-primary']) ?>
</div>
</div>
</div>
<?php ActiveForm::end(); ?>
</div>
</div>
</div>
更多關(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ù)庫操作技巧匯總》
希望本文所述對大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
基于curl數(shù)據(jù)采集之單頁面并行采集函數(shù)get_htmls的使用
用第一篇的get_html()實(shí)現(xiàn)簡單的數(shù)據(jù)采集,由于是一個(gè)一個(gè)執(zhí)行才采集數(shù)據(jù)的傳輸時(shí)間就會是所有頁面下載的總時(shí)長,一個(gè)頁面假設(shè)1秒,那么10個(gè)頁面就是10秒了。所幸curl還提供了并行處理的功能2013-04-04
linux實(shí)現(xiàn)php定時(shí)執(zhí)行cron任務(wù)詳解
linux實(shí)現(xiàn)php定時(shí)執(zhí)行cron任務(wù)2013-12-12
PHP 5.6.11 訪問SQL Server2008R2的幾種情況詳解
這篇文章主要介紹了PHP 5.6.11 訪問SQL Server2008R2的幾種情況的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08
Laravel + Elasticsearch 實(shí)現(xiàn)中文搜索的方法
這篇文章主要介紹了Laravel + Elasticsearch 實(shí)現(xiàn)中文搜索的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02

