下拉菜单中的Yii复选框

时间:2012-07-23 07:47:00

标签: php yii yii-extensions

我正在使用Yii框架开发应用。我需要从下拉列表中选中复选框作为此列表的值。我一直在搜索这个,但没有找到任何东西。有人可以帮我完成这项任务吗?

3 个答案:

答案 0 :(得分:4)

以下是Yii扩展程序的链接,它可以完全满足您的需求!

Yii Framework Extension: echmultiselect

除此之外,还有其他Yii扩展用于多选功能,这些功能也非常有趣!你可能也想看看这些!

Yii Framework Extension: Select2

Yii Framework Extension: emuliselect

答案 1 :(得分:2)

你可以这样做(在这个例子中你的模型必须有一个公共字段$ availableLanguages):

<?= $yourActiveForm->field($model, 'availableLanguages', ['template' => "
<div class='dropdown'>
    <button
    class='btn btn-default dropdown-toggle'
    data-toggle='dropdown'
    type='button'>
        <span>Select languages</span>
        <span class='caret'></span>
    </button>
    {input}
</div>"])->checkboxList(
[
    'FR'=>'France',
    'DE'=>'Germany'
],
[
    'tag' => 'ul',
    'class' => 'dropdown-menu',
    'item' => function ($index, $label, $name, $checked, $value) {
        return '<li>' . Html::checkbox($name, $checked, [
            'value' => $value,
            'label' => Html::encode($label),
        ]) . '</li>';
    }
]); ?>

答案 2 :(得分:0)

您可以创建一个简单的文本框,当用户点击时,您会显示一个复选框列表

<div id="listOfDays">
                        <span><?php echo Yii::t('frontend','CHOOSE_DAY'); ?> </span>
                        </div>
                        <div id="itemslistOfDays" style="display:none;position:absolute;z-index:10;background-color:white; width:300px">
                        <?php
                        echo $form->checkBoxList($model, 'freq_details', array(
                            '1'=>Yii::t('frontend','MONDAY'),
                            '2'=>Yii::t('frontend','TUESDAY'),
                            '3'=>Yii::t('frontend','WEDNESDAY'),
                            '4'=>Yii::t('frontend','THURSDAY'),
                            '5'=>Yii::t('frontend','FRIDAY'),
                            '6'=>Yii::t('frontend','SATURDAY'),
                            '7'=>Yii::t('frontend','SUNDAY'),                       
                            )); ?>

                        </div>

您必须编写一些javascript或jquery才能隐藏,显示和绑定点击事件