L'exemple de cet article décrit comment Yii2 implémente la fonction de liste déroulante de liaison haut et bas. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
Tout d'abord, laissez-moi vous expliquer ce qu'est une liste déroulante de liens descendants
S'il y a deux sélections dans une vue, le premier est le nom de l'entreprise, le second est le nom de la succursale. Il existe plusieurs entreprises, et chaque entreprise a plusieurs succursales. Ce que nous obtenons, c'est qu'après avoir cliqué sur l'entreprise actuelle, les succursales affichées dans les succursales sont les succursales de l'entreprise actuelle.
Ou vous pouvez directement comprendre qu'après avoir sélectionné la province, la sélection suivante montre les comtés de la province actuelle.
Principe :
Après avoir cliqué sur la première sélection, exécutez ajax pour obtenir la branche de l'entreprise actuelle, et utilisez jQuery pour modifier le contenu de la branche
Code de vue partielle des deux sélections Comme suit :
<?= $form->field($model, 'companies_company_id')->dropDownList( \yii\helpers\ArrayHelper::map(\backend\models\Companies::find()->all(),'company_id','company_name'), [ 'prompt'=>'select Company', 'onchange'=>' $.post("index.php?r=branches/lists&id='.'"+$(this).val(),function(data){ $("select#departments-branches_branch_id").html(data); });', ] ) ?> <?= $form->field($model, 'branches_branch_id')->dropDownList( \yii\helpers\ArrayHelper::map(\backend\models\Branches::find()->all(),'branch_id','branch_name'), [ 'prompt'=>'Select Branches', ] ) ?>
code de la méthode de liste :
public function actionLists($id) { $countBranches = Branches::find() ->where(['companies_company_id' => $id]) ->count(); $branches = Branches::find() ->where(['companies_company_id' => $id]) ->all(); if ($countBranches > 0) { foreach ($branches as $branche) { echo "<option value='" . $branche->branch_id . "'>" . $branche->branch_name . "</option>"; } } else { echo "<option>-</option>"; } }
J'espère que cet article ci-dessus sera utile pour la conception de programmes PHP basés sur le framework Yii.
Pour plus d'articles sur la façon dont Yii2 implémente la fonction de liste déroulante de liaison haut et bas, veuillez faire attention au site Web PHP chinois !