微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Yii2 Html :: dropDownList和Html :: activeDropDownList权衡

在Yii2中,使用 Html :: activeDropDownList,我可以使用如下形式提交数据:
<?= Html::activeDropDownList($model,'category',ArrayHelper::map($categories,'id','name'),[
       'multiple' => 'multiple','class' => 'multiselect',]) ?>

有没有办法在上面指定预先选择的类别?
我知道可以使用Html :: dropDownLost完成,如下所示:

<?= Html::dropDownList('category',[1,3,5],[
     'multiple' => 'multiple',]) ?>

但是有一个权衡!没有地方可以表明这是附加到某个模型的一些数据,因为使用了Html :: activeDropDownList.

我找到的解决方案之一是使用ActiveForm,如下所示:

<?= $form->field($model,'category')
      ->dropDownList('category','name')
]) ?>

我最后一个选项的问题是我无法指定html选项,如’multiple’和css,如’class’.

有关能够使用下拉列表以及指定列表是多选并具有预选值的任何帮助吗?此外,如果有人将我引导到我可以阅读有关何时何地选择activeDropDownList或dropDownList的资源,我真的很感激.

谢谢!

@ scaisEdge的答案是正确的,但您可以尝试另一种选择:
<?PHP 
$model->category = [1,5]; //pre-selected values list
echo $form->field($model,'category')
    ->dropDownList(ArrayHelper::map($categories,[
            'multiple' => 'multiple','class' => 'YOUR_CLASS'
        ]
) ?>

代码也有效并经过测试.快乐编码:)

原文地址:https://www.jb51.cc/php/134630.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐