簡體   English   中英

Yii2下拉空選項

[英]Yii2 dropdown empty option

如何將以下 Yii 代碼實現到 Yii2:

<?php 
   echo $form->dropDownList($model, 
                           'project', 
                           $model->getProjectOptions(), 
                           array('empty' => 'Empty string')
   ); 
?>

為什么不

<?
    dropDownList($model, 
        'project', 
        $model->getProjectOptions(), 
        array('prompt'=>'Empty string')
    ); ?>
  • prompt: 字符串,作為第一個選項顯示的提示文本;

這是舊的 CHtml https://github.com/yiisoft/yii2/blob/master/framework/yii/helpers/base/Html.php

如果您需要更多東西,可以在那里找到。

使用以下代碼獲取yii2朋友中的下拉列表。

<?php 
    //use app\models\Country;
    $countries=Country::find()->all();

    //use yii\helpers\ArrayHelper;
    $listData=ArrayHelper::map($countries,'code','name');

    echo $form->field($model, 'name')->dropDownList(
                                    $listData, 
                                    ['prompt'=>'Select...']);
    ?>

試試這個:如果你願意,你可以移除模板。

<?php
  $form = ActiveForm::begin([
    'id' => 'test-form',
    'options' => ['class' => 'form-horizontal'],
    'enableClientValidation'=> true,
    'enableAjaxValidation'=> false,
    'validateOnSubmit' => true,
    'validateOnChange' => true,
    'validateOnType' => true,
    'action' => Yii::$app->homeUrl . 'your/url/path'
  ]);
?>

    echo $form->field($model, 
                'your_field_name', 
                ['template' => '<div class="col-md-3">
                                     {label}
                                </div>
                               <div class="col-md-9"> 
                                     {input}{error}{hint}
                               </div>'
                ])
                ->dropdownList($option_array, ['prompt' => '--Select--']);

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

你看起來像這樣嗎?

<?=$form->field($model, 'project')
        ->dropDownList(ArrayHelper::map(['empty'=>'Empty string'], 'id', 'value'))
        ->label(false);
?>

當你創建 projectOptions 數組時,只需讓第一個索引有一個空鍵,就像這樣:

[
  null => 'Empty option',
  ... // Your options
]

在您看來,您只需添加

$form->field($model, 'project')->dropDownList($model->projectOptions);

當您的函數名稱以 'get' 開頭,后跟一個大寫字母時,yii 將其理解為一個屬性,因此

public function getSomeOptions(){ ..

是一樣的someOptions ,是表關系的原理一樣

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM