/ / Prázdna možnosť rozbaľovacej ponuky Yii2 - php, rozbaľovacie menu, yii2

Rozbaľovacia voľba Yii2 prázdna - php, rozbaľovacia ponuka, yii2

Ako implementovať nasledujúci kód Yii do Yii2:

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

odpovede:

26 pre odpoveď č. 1

Prečo nie

dropDownList($model, "project", $model->getProjectOptions(), array("prompt"=>"Empty string"); ?>
  • prompt: string, text výzvy, ktorý sa zobrazí ako prvá možnosť;

Tu je starý CHtml https://github.com/yiisoft/yii2/blob/master/framework/yii/helpers/base/Html.php

Nájdete tam, ak potrebujete niečo viac.


7 pre odpoveď č. 2

Pomocou nasledujúceho kódu získate rozbaľovací zoznam v aplikácii yii2 friend.

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

//use yiihelpersArrayHelper;
$listData=ArrayHelper::map($countries,"code","name");

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

4 pre odpoveď č. 3

Skúste to : Ak chcete, môžete vzorku odstrániť.

<?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 pre odpoveď № 4

Hľadáte niečo také?

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

1 pre odpoveď č. 5

Keď vytvoríte pole projectOptions, stačí vytvoriť prvý index s nulovým kľúčom, napríklad takto:

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

A podľa vášho názoru iba pridáte

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

Keď názov vašej funkcie začína na „get“ a za ním veľké písmeno, yii to chápe ako atribút, takže

public function getSomeOptions(){ ..

je rovnaký someOptions, je rovnaký princíp vzťahov tabuľky