2015-07-16 7 views
19

Używam select2 ze sprężynowym mvc. Mam dane z mojego kontrolera, które muszę wyświetlić tutaj pod względem opcji. Ale chcę, żeby być grupowane jako optgroup i też chcę być dołączone do zdjęć w nim, które mogą być wstawiane ręcznie, jak podano poniżej: -Jquery select2 json data z optgroup i obrazkami

<optgroup label="group"> 
    <option value="imageName">value 1</option> 
    <option value="imageName">value 1</option> 
    </optgroup> 

Gdzie imageName to nazwa obrazu. Chcę: 1) Opcje grupy w json. 2) Podaj ten atrybut obrazu w json, aby select2 mógł tworzyć dane.

Oto kod:

$("#my-select").select2({ 
     data : [ { 
      id : 0, 
      text : 'enhancement' 
     }, { 
      id : 1, 
      text : 'bug' 
     }, { 
      id : 2, 
      text : 'duplicate' 
     }, { 
      id : 3, 
      text : 'invalid' 
     }, { 
      id : 4, 
      text : 'wontfix' 
     } ] 
    }); 

tworzę moje json ręcznie z moich przedmiotów. Mogę podać tutaj wszelkie dane. Jakieś sugestie ?

Odpowiedz

38

wybierz 2 mapy obiekty danych do <option> i <optgroup> tagów za pomocą następującej logiki


obiektu danych (co jest zwracane na liście), który wygląda jak

{ 
    'id': 'value-here', 
    'text': 'text-here' 
} 

zostaną odwzorowane <option> wygląda następująco:

<option value="value-here">text-here</option> 

obiektu danych, który wygląda jak

{ 
    'text': 'label-here', 
    'children': [data_object, data_object] 
} 

Będzie odwzorowywane na <optgroup> który wygląda jak

<optgroup label="label-here"> 
    <!-- HTML for the `children` --> 
</optgroup> 

więc obiekt danych, które szukasz powrót jest

{ 
    'text': 'group', 
    'children': [ 
    { 
     'id': 'imageName', 
     'text': 'value 1' 
    }, 
    { 
     'id': 'imageName', 
     'text': 'value 1' 
    } 
    ] 
} 
+0

Czy istnieje również prope rty mapujące do klasy CSS? – Chalky