Javascript 将自定义属性添加到select2中的选项

Javascript 将自定义属性添加到select2中的选项,javascript,jquery-select2,select2,Javascript,Jquery Select2,Select2,我正在使用select2插件,因为我想在选项中添加自定义属性 “数据值” 如果我在上面的代码中添加“数据值”,它将不会显示该选项。 有没有办法做这样的事。 我使用的是4.*select2插件select2使用方式如下: for(var i = 0; i < arr.length; i++) { $('select').append('<option data-value="'+arr[i].DataValue+'" value="'+arr[i].Id+'">'+arr

我正在使用select2插件,因为我想在选项中添加自定义属性 “数据值”

如果我在上面的代码中添加“数据值”,它将不会显示该选项。 有没有办法做这样的事。
我使用的是4.*select2插件

select2使用方式如下:

for(var i = 0; i < arr.length; i++)
{
    $('select').append('<option data-value="'+arr[i].DataValue+'" value="'+arr[i].Id+'">'+arr[i].Text+'</option>');
}

$('select').select2();
for(变量i=0;i

在添加了需要调用的选项后,我使用select2 4.0.5,借助事件“select2:select”来实现这一点

初始化时没有效果,当您选择一个选项时,该属性将添加到其中

$(element).select2(
{
    placeholder:'chose one option',
    data:[ {
        "id": 1,
        "text": "Option 1",
        "data-value":"dv1",
        },
        {
        "id": 2,
        "text": "Option 2",
        "data-value":"dv2",
        }]
}).on('select2:select', function (e) {
    var data = e.params.data;                
    $(this).children('[value="'+data['id']+'"]').attr(
       {
        'data-value':data["data-value"], //dynamic value from data array
        'key':'val', // fixed value
       }
    );
}).val(0).trigger('change');
.val(0).trigger('change')
用于显示占位符,不允许使用默认值。否则,第一个选项将是默认的,没有附加属性

初始化: 选择“选项2”时:

$(element).select2(
{
    placeholder:'chose one option',
    data:[ {
        "id": 1,
        "text": "Option 1",
        "data-value":"dv1",
        },
        {
        "id": 2,
        "text": "Option 2",
        "data-value":"dv2",
        }]
}).on('select2:select', function (e) {
    var data = e.params.data;                
    $(this).children('[value="'+data['id']+'"]').attr(
       {
        'data-value':data["data-value"], //dynamic value from data array
        'key':'val', // fixed value
       }
    );
}).val(0).trigger('change');