Yii2-只有一个选择获得选项

问题描述 投票:0回答:1

我有一个问题。我有3个选择输入,我想用相同的选项填写。第一个输入获得选项,而另外两个则不。我已经尝试了一切。我尝试的最后一件事是选择3个不同的查询,并分别填写每个查询。不幸的是,我遇到同样的问题。

感谢您的建议。

Controller

$dataPbxObj1 = Sipend::find()
        ->select('cc_sip_end.*')
        ->leftJoin('cc_reseller_to_pbx', '`cc_reseller_to_pbx`.`ID_PBX` = `cc_sip_end`.`id`')
        ->where(["in", "cc_reseller_to_pbx.id_cc_reseller", $reseller->id_cc_reseller])->all();

    $dataPbxObj2 = Sipend::find()
        ->select('cc_sip_end.*')
        ->leftJoin('cc_reseller_to_pbx', '`cc_reseller_to_pbx`.`ID_PBX` = `cc_sip_end`.`id`')
        ->where(["in", "cc_reseller_to_pbx.id_cc_reseller", $reseller->id_cc_reseller])->all();

    $dataPbxObj3 = Sipend::find()
        ->select('cc_sip_end.*')
        ->leftJoin('cc_reseller_to_pbx', '`cc_reseller_to_pbx`.`ID_PBX` = `cc_sip_end`.`id`')
        ->where(["in", "cc_reseller_to_pbx.id_cc_reseller", $reseller->id_cc_reseller])->all();

    $dataPbx1 = ArrayHelper::map($dataPbxObj1,'id','popis');
    $dataPbx2 = ArrayHelper::map($dataPbxObj2,'id','popis');
    $dataPbx3 = ArrayHelper::map($dataPbxObj3,'id','popis');

View(所有这些选择都相同)

<?=$form->field($modelSip, 'ID_PBX')->widget(Select2::className(),
               ["data" => $dataPbx3,'hideSearch' => true]) ?>
php yii yii2 jquery-select2 yii2-advanced-app
1个回答
0
投票

您可能需要使用唯一的ID-默认情况下,Yii会根据字段名称生成ID,但是对于3个相同的字段,ID将相同,并且Select2 init仅适用于其中的第一个。

<?=$form->field($modelSip, 'ID_PBX')->widget(Select2::className(), [
    'id' => 'ID_PBX1',
    'data' => $dataPbx,
    'hideSearch' => true,
]) ?>

<?=$form->field($modelSip, 'ID_PBX')->widget(Select2::className(), [
    'id' => 'ID_PBX2',
    'data' => $dataPbx,
    'hideSearch' => true,
]) ?>

<?=$form->field($modelSip, 'ID_PBX')->widget(Select2::className(), [
    'id' => 'ID_PBX3',
    'data' => $dataPbx,
    'hideSearch' => true,
]) ?>

顺便说一句:您不需要查询选项列表3次,您可以一次查询一次,并在3个字段中使用相同的结果。

© www.soinside.com 2019 - 2024. All rights reserved.