J'ai un dropDownList avec select multiple et quand je vais à l'actionUpdate, je veux que le contenu de dropDownList soit sélectionné (contenu correct).Champ à l'intérieur d'Active Form avec Array
Tableau:
array (size=3)
0 =>
object(backend\models\AliHasAliPlanRef)[100]
private '_attributes' (yii\db\BaseActiveRecord) =>
array (size=3)
'ali_s_id' => int 23
'ali_plan_ref_id' => int 50
'weight' => int 22
private '_oldAttributes' (yii\db\BaseActiveRecord) =>
array (size=3)
'ali_s_id' => int 23
'ali_plan_ref_id' => int 50
'weight' => int 22
private '_related' (yii\db\BaseActiveRecord) =>
array (size=0)
empty
private '_errors' (yii\base\Model) => null
private '_validators' (yii\base\Model) => null
private '_scenario' (yii\base\Model) => string 'default' (length=7)
private '_events' (yii\base\Component) =>
array (size=0)
empty
private '_behaviors' (yii\base\Component) =>
array (size=0)
empty
1 =>
object(backend\models\AliHasAliPlanRef)[105]
private '_attributes' (yii\db\BaseActiveRecord) =>
array (size=3)
'ali_s_id' => int 24
'ali_plan_ref_id' => int 50
'weight' => int 33
private '_oldAttributes' (yii\db\BaseActiveRecord) =>
array (size=3)
'ali_s_id' => int 24
'ali_plan_ref_id' => int 50
'weight' => int 33
private '_related' (yii\db\BaseActiveRecord) =>
array (size=0)
empty
private '_errors' (yii\base\Model) => null
private '_validators' (yii\base\Model) => null
private '_scenario' (yii\base\Model) => string 'default' (length=7)
private '_events' (yii\base\Component) =>
array (size=0)
empty
private '_behaviors' (yii\base\Component) =>
array (size=0)
empty
2 =>
object(backend\models\AliHasAliPlanRef)[106]
private '_attributes' (yii\db\BaseActiveRecord) =>
array (size=3)
'ali_s_id' => int 25
'ali_plan_ref_id' => int 50
'weight' => int 4
private '_oldAttributes' (yii\db\BaseActiveRecord) =>
array (size=3)
'ali_s_id' => int 25
'ali_plan_ref_id' => int 50
'weight' => int 4
private '_related' (yii\db\BaseActiveRecord) =>
array (size=0)
empty
private '_errors' (yii\base\Model) => null
private '_validators' (yii\base\Model) => null
private '_scenario' (yii\base\Model) => string 'default' (length=7)
private '_events' (yii\base\Component) =>
array (size=0)
empty
private '_behaviors' (yii\base\Component) =>
array (size=0)
empty
En fait, i ont le code (et travaux, mais seulement pour le premier élément sélectionné de la matrice):
<?=
$form->field($ali[0], 'ali_s_id', ['template' => '{label}{input}<span class="help-block">{hint}{error}</span>'])->dropDownList(Category::getHierarchy(), ['size' => 10, 'multiple' => 'multiple'], ['prompt' => Yii::t('app', '-- Select --'),
])
?>
Exemple de code ci-dessus:
Je veux sélectionner tous les éléments (corrects) sélectionnés dans DropDownList. J'ai essayé aussi:
<?=
$form->field($ali, 'ali_s_id[]', ['template' => '{label}{input}<span class="help-block">{hint}{error}</span>'])->dropDownList(Category::getHierarchy(), ['size' => 10, 'multiple' => 'multiple'], ['prompt' => Yii::t('app', '-- Select --'),
])
?>
Mais je reçu une erreur:
Call to a member function isAttributeRequired() on array
Résultat attendu:
Merci pour votre réponse. Seule la première valeur reste sélectionnée ($ ali [0]). Donc, cette solution ne fonctionne pas aussi. –
Vous pouvez passer toutes les valeurs de tableau sélectionnées comme ceci 'options' => ["1" => ['selected' => true], "5" => ['selected' => true]] –
ici 1 et 5 sont options de liste déroulante. comme ceci, vous avez juste besoin de construire un tableau avec le format is avant cela et passer ce tableau au champ. –