Yii2中DropDownList簡(jiǎn)單用法示例

字號(hào):


    本文實(shí)例講述了Yii2中DropDownList簡(jiǎn)單用法。分享給大家供大家參考,具體如下:
    這里以實(shí)際應(yīng)用為例講解Yii2 DropDownList用法。
    有一張分類表,無(wú)限極分類那種,表結(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>
      <div>
        <?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>
          <?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' => '請(qǐng)選擇父分類'])->label("父分類") ?>
          <?= $form->field($model, 'keywords')->textarea(['maxlength' => 255])->label("分類關(guān)鍵詞") ?>
          <?= $form->field($model, 'description')->textarea(['maxlength' => 255])->label("分類描述") ?>
          <div>
            <div>
              <div>
                <?= 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>
    希望本文所述對(duì)大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。