2017-01-12 6 views
0

Ich verwende Select2 innerhalb meines asp.net MVC Projektes. Ich habe ein Weblog erstellt. Jeder Post hat einige Tags. Ich benutze select2 multiselect um Tags auszuwählen. Auf der Erstellungsseite kann ich Tags suchen und auswählen und in der Datenbank speichern.Artikel in select2 vorwählen

Problem: in Bearbeitungsseite auch meine select2 funktioniert gut. aber ich möchte einige Tags in bearbeiten pageload hinzufügen, die der Benutzer in create page hinzugefügt. Dann kann der Benutzer die Tags ändern. Ich kann keine Tags in select2 vorzuwählen

+0

fand ich die richtige Antwort hier [http://stackoverflow.com/a/3740912/6303651 ] (http://stackoverflow.com/a/3740912/6303651) – matius

Antwort

0

Diese kleine jquery Funktion Optionen zu einem select2 hinzufügen

$.fn.select2AddOptions = function(options) { 
    this.each(function(){ 
     var $ele = $(this); 
     var data = $ele.data('select2'); 
     if(data) //the $.extend is not recursive change the false for true if needed 
      $ele.select2($.extend(false,{},data.options.options,options)); 
    }); 
    return this; 
} 

Dann können Sie damit Ihre persönlichen Daten hinzuzufügen, die nicht in <option> oder select2 Daten sind:

$('#element').select2AddOptions(
{data:[{id:{{ location.id }},text:'{{ location.name }}',color:'{{ location.color }}'}]} 
).trigger('change'); 

Wenn Sie ausgewählte Element ändern müssen:

$('#element').val(['id1','id2']).trigger('change'); 

ich Ihnen, dass select2 Feuer seine Veranstaltung benötigen, wenn Sie Option wählen müssen Sie Ereignis manualy wie das Feuer:

$('#element').trigger($.Event('select2:select', {params: {data: [...]}})) 
+0

danke dir so sehr – matius