使用select2添加"data-"属性

Vic*_*eal 15 javascript jquery-select2

我已经看到很多Select2使用"data-"属性设置的选项标签的例子,我想这样做.

我正在使用ajax来获取数据.我得到了构建选择所需的IDTEXT所需的.

但是我该如何为它添加更多属性呢?

我只是没有找到添加它们的方法.

$(element).select2({
    placeholder: 'Select one...',
    width: '100%',
    minimumInputLength: 2,
    ajax: {
        url: '/my/url',
        dataType: 'json',
        data: function(params) {
            return {
                q: params.term,
                page: params.page
            };
         },
         processResults: function(data, page) {
             console.log(data);
             return {
                 results: data
             };
         },
         cache: true
     }
 });
Run Code Online (Sandbox Code Playgroud)

Jef*_*zed 34

此解决方案适用于Select2 4.0或更高版本.

假设您所谈论的属性已加载到您在processResults中返回的数组中.例如,如果您选择的记录如('id':1,'text':'some-text','custom_attribute':'hello world')

然后在变更事件中,你可以做:

data=$("#selector").select2('data')[0];
console.log(data.custom_attribute);//displays hello world
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你..

  • 它只是不能更好!谢谢! (3认同)