YII 2:在选项 select2 kartik 小部件中添加新属性

YII 2 : Adding new attribute inside option select2 kartik widget

我有使用 yii 2 的脚本:

echo $form->field($model, 'data')->widget(Select2::classname(), [
     'data' => [array_merge(["" => ""], $data)],
     'options' => [
            'placeholder' => 'Select Data Name', 
            'multiple' => false,
     ],
]);

和 html 中的结果:

<select id="storymapdata-data" class="form-control kv-hide input-md" name="Storymapdata[data]">
<optgroup label="0">
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
</optgroup>
</select>

还有我的问题, 如何在选项中添加属性 'data-type'?我想这样:

<option value="1" data-type="wms">Option 1</option>
<option value="2" data-type="geojson">Option 2</option>

如何?

您可以通过选项选项(听起来很有趣...)配置向选项标签添加额外的属性。

<?php
echo $form->field($model, 'data')->widget(Select2::classname(), [
    'data' => [array_merge(["" => ""], $data)],
    'options' => [
        'placeholder' => 'Select Data Name', 
        'multiple' => false,
        'options' => [
            '1' => ['data-type' => 'mws'],
            '2' => ['data-type' => 'geojson'],
        ],
    ],
]);

查看 Yii2 documentation 以获得更详细的解释。