2017-04-04 4 views
1

Ich benutze das select2 Plugin, in dem ich benutzerdefinierte Attribut zu den Optionen "Datenwert" hinzufügen möchte.Hinzufügen von benutzerdefinierten Attribut zu Option in select2

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

Wenn ich "Daten-Wert" in obigem Code hinzufügen, wird es diese Option nicht angezeigt werden soll. Gibt es eine Möglichkeit, so etwas zu tun. Ich verwende 4. * select2 Plugin

Antwort

0

select2 wie auf diese Weise verwenden:

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

nach die Optionen Anhängen Sie select2() Funktion

0

Ich benutze Select2 4.0.5 mit Hilfe aufrufen müssen von Event 'select2: select' um dies zu erreichen.

Bei der Initialisierung gibt es keinen Effekt, wenn Sie eine Option auswählen, wird das Attribut hinzugefügt.

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

die .val(0).trigger('change') für Show Platzhalter verwendet und lassen Sie es keinen Standardwert. Andernfalls wird die erste Option standardmäßig ohne Attribut hinzufügen verwendet.

Init: enter image description here wenn select "Option 2": enter image description here

Verwandte Themen