2017-04-04 69 views
1

我正在使用select2插件,因爲我想爲選項 「data-value」添加自定義屬性。在select2中添加自定義屬性到

$('select').select2({ 
    data: [ 
    { 
     id: 'value', 
     text: 'Text to display' 
    }, 
    ] 
}); 

如果我在上面的代碼中添加「數據值」,它將不會顯示該選項。 有沒有辦法做這樣的事情。 我使用4 *選擇2插件

回答

0

選擇2使用這樣的方法:

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(); 

附加選項後,你需要調用select2()功能

0

我用選擇二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')用於顯示佔位符,並讓它沒有默認值。否則第一個選項將是默認的,不添加任何屬性。

初始化: enter image description here 當選擇 「選項2」: enter image description here