2013-06-12 18 views

答えて

26

なぜ

dropDownList($model, 'project', $model->getProjectOptions(), array('prompt'=>'Empty string'); ?> 
  • プロンプト:文字列、最初のオプションとして表示されるプロンプトのテキスト。

は、ここではもっと何かが必要な場合

が見つけることができCHTML https://github.com/yiisoft/yii2/blob/master/framework/yii/helpers/base/Html.php古いです。

+1

http://www.yiiframework.com/doc-2.0/yii-widgets-activefield.html#dropDownList()-detail Yii2のDropDownListのためのドキュメント –

+1

2.0.11(http://www.yiiframework.com/doc-2.0/yii-helpers-basehtml.html#activeDropDownList()-detail) – friek108

4

試用: 必要に応じてテンプルを削除できます。

<?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(); ?> 
2

あなたは次のようなものを探していますか?

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

そして、あなたのビューであなただけの

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

とき、あなたを追加します。あなたはprojectOptions配列を作るときに、ちょうど最初のインデックスは、そのようなヌル鍵を、持っていた作る

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

関数名は 'get'で始まり大文字で始まり、yiiはそれを属性として理解します。

public function getSomeOptions(){ .. 

同じsomeOptionsで、

7

がyii2友人にDropDownListコントロールを取得するには、次のコードを使用して、テーブルのリレーションシップのと同じ原理です。あなたは今のYiiのように空(プロンプト)オプションを設定することができます

<?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...']); 
    ?> 
関連する問題