2015-12-02 2 views
1

У меня есть одна проблема. Я использую Select2 на моей странице, и я хотел бы немного изменить его. Это мой пример:Добавить параметры на мой Select2

<select id="mySelect" multiple> 
    <!-- --> 
</select> 
var data = [{ 
    id: 1, 
    text: "sample_1", 
    version: "1" 
},{ 
    id: 2, 
    text: "sample_2", 
    version: "2"  
}] 

$("#mySelect").select2({ 
    data: data 
}); 

JSFIDDLE example

В этом примере отображается текст из загруженного JSON. Но что, если я хочу изменить поиск? При вводе текста он появляется рядом с третьим значением version с JSON, но если я нажму на значение version, то не добавьте select.

Например. Когда я Поиск в выберите мои выберите выглядит как:

- text_1 - "version" 
- text_2 - "version" 

но если я нажимаю некоторые опции, например text_1, что только добавляет поле выбора text_1 нет version, то есть, как далеко. Я думаю, что пример Templating показывает немного моей проблемы. Только когда вы нажимаете, например, на флагом Аляски исчезает и текст остается в списке

Любые предложения, как я могу это сделать?

ответ

1

С templateSelection и templateResult вы можете контролировать как результаты поиска и вид выбранного элемента

$("#mySelect").select2({ 
    data:data, 
    templateSelection: function(val) { 
    return val.text +" - " + "version" + val.version; 
    }, 
    templateResult: function(val) { 
    return val.text +" "+ val.version; 
    } 
}); 
+0

Это точно показывает противоположный ожидаемый эффект к тому, что я хочет получить. :) Т.е. Когда я поиск, покажите версию во всплывающем списке, но когда я нажимаю содержимое поиска, которое не добавляет значение «version» в поле выбора –

+0

'templateSelection', сделайте именно это :) http://jsfiddle.net/13ozkvaa/ –

+0

templateSelection добавить версию к selectbox, когда я нажимаю «sample_1» после параметров поиска, и я просто хочу этого избежать :) –