Yii2下拉optgroup标签

时间:2018-08-17 09:42:16

标签: php yii2 optgroup

我使用下面的代码使用活动表单创建了一个下拉列表,但是默认情况下以某种方式将optgroup的标签显示为“ 0”,我该如何隐藏它?

<?= $form->field($model, 'idcmp_usr')
    ->dropDownList([Company::find()
        ->select(['name_cmp','id_cmp'])
        ->indexBy('id_cmp')
        ->column()]); ?>

显示的html:

<label class="control-label" for="user-idcmp_usr">Company</label>
<select id="user-idcmp_usr" class="form-control" name="User[idcmp_usr]" aria-required="true">
<optgroup label="0">
<option value="1">###</option>
<option value="2" selected>###</option>
<option value="13">###</option>
<option value="14">###</option>
</optgroup>
</select>

我已经尝试过使用CSS或dropdown()-> label(false)做几件事,但不会消失

2 个答案:

答案 0 :(得分:1)

在这里,在Yii2中映射父级和儿童标签组的解决方案,optgroup标签

$data = Array
(
    [Group1] => Array
        (
            [5] => Group1 Apartment
            [6] => Group1Apartment
            [7] => Group1
            [8] => Group1House
            [9] => Group1 Plot
            [10] => Group1 House
            [11] => Group1 Apartment
            [12] => Group1 House
        )

    [Group2] => Array
        (
            [13] => Group2 Office
            [14] => Group2 IT Park/SEZ
            [15] => Group2 Shop
            [16] => Group2 Show Room
            [17] => Group2 Land
            [18] => Group2 GoDown
        )

    [Group3] => Array
        (
            [19] => Group3 Land
            [20] => Group3 Shed
        )

    [Group4] => Array
        (
            [22] => Group4 Land
        )

)

表格---

<?= $form->field($model, 'group_type')->dropDownList($data, ['disabled' => (!$model->isNewRecord) ? true : false, 'prompt' => 'Select', 'options' => [$model->isNewRecord ? '' : $model->group_type->parent_id => ["Selected" => true]]])?>

答案 1 :(得分:0)

删除多余的[]

<?= $form->field($model, 'idcmp_usr')->dropDownList(Company::find()
    ->select(['name_cmp','id_cmp'])
    ->indexBy('id_cmp')
    ->column()
); ?>