Wie eine zu machen , dropdown
in yii2
eine mit activeform
und ein Modell? yii2
Wie wird es in der neuen Methode gemacht, da sich alle Methoden geändert haben ?
php
drop-down-menu
yii2
Dency GB
quelle
quelle
Antworten:
Es ist wie
ArrayHelper in Yii2 ersetzt die CHtml-Listendaten in Yii 1.1. [Bitte laden Sie Array-Daten von Ihrem Controller]
BEARBEITEN
Laden Sie Daten von Ihrem Controller.
Regler
Im Hinblick auf
quelle
Es scheint, dass Sie Ihre Antwort bereits gefunden haben, aber da Sie die aktive Form erwähnt haben, werde ich mit einer weiteren beitragen, auch wenn sie sich nur geringfügig unterscheidet.
quelle
.on('change')
Auswahlfelds anzugeben und das Ereignis in jquery zu manipulieren, um das zweite Feld basierend auf der Auswahl des ersten zu füllen.Es gibt oben einige gute Lösungen, und meine ist nur eine Kombination aus zwei (ich bin hierher gekommen, um nach einer Lösung zu suchen).
Die Lösung von @Sarvar Nishonboyev ist gut, da die Erstellung des Formulareingabeetiketts und des Hilfeblocks für Fehlermeldungen beibehalten wird.
Ich ging mit:
Nochmals die volle Anerkennung an: @Sarvar Nishonboyev's und @ippi
quelle
Es scheint, dass es viele gute Antworten auf diese Frage gibt. Also werde ich versuchen, eine detaillierte Antwort zu geben
aktive Form und fest codierte Daten
oder
aktive Form und Daten aus einer DB-Tabelle
Wir werden ArrayHelper verwenden, also fügen Sie es zuerst dem Namensraum von hinzu
ArrayHelper hat viele Vollfunktionen, die zur Verarbeitung von Arrays verwendet werden können. Map () ist diejenige, die wir hier verwenden werden. Diese Funktion hilft dabei, eine Map (aus Schlüssel-Wert-Paaren) aus einem mehrdimensionalen Array oder einem Array von Objekten zu erstellen.
nicht Teil eines aktiven Formulars
oder
kein aktives Formular, sondern Daten aus einer DB-Tabelle
quelle
Schauen Sie sich das an:
quelle
Vielleicht irre ich mich, aber ich denke, dass eine SQL-Abfrage aus der Sicht eine schlechte Idee ist
Das ist mein Weg
In der Steuerung
Und in Sicht
Oder mit ActiveForm
quelle
$this->view->params['items'] = $items;
und auf meiner Ansichtsseite<?php echo $form->field($model, 'plan_type', ['options' => ['class' => ' input select']])->dropdownList( $this->params['items'],['prompt'=>'Select Plan','class' => 'selectpicker', 'data-live-search' => 'true','label'=>false]);?>
Dies wird Ihnen helfen ... Vergessen Sie nicht, die Klassendatei im Header zu verwenden.
quelle
use yii\helpers\ArrayHelper;
werden, um den Helfer verwenden zu können.In
ActiveForm
nur verwenden:quelle
Hier geht es darum, Daten zu generieren, und dies geschieht besser aus dem Modell heraus. Stellen Sie sich vor, Sie möchten jemals die Art und Weise ändern, in der Daten im Dropdown-Feld angezeigt werden, z. B. einen Nachnamen oder etwas hinzufügen. Sie müssten jedes Dropdown-Feld finden und das ändern
arrayHelper
. Ich verwende eine Funktion in meinen Modellen, um die Daten für ein Dropdown-Menü zurückzugeben, sodass ich den Code in Ansichten nicht wiederholen muss. Es hat auch den Vorteil, dass ich hier Filter angeben und sie auf jedes Dropdown anwenden kann, das aus diesem Modell erstellt wurde.Sie können dies in Ihrer Ansichtsdatei wie folgt verwenden.
quelle
Wenn Sie es bis zum Ende der Liste geschafft haben. Speichern Sie etwas PHP-Code und bringen Sie einfach alles aus der Datenbank zurück, wie Sie es brauchen:
quelle
Folgendes kann ebenfalls durchgeführt werden. Wenn Sie das Präfix-Symbol anhängen möchten. Dies wird hilfreich sein.
quelle