Починаючи з Select2 4.x, він завжди повертає масив, навіть для списків, що не є множинними.
var data = $('your-original-element').select2('data')
alert(data[0].text);
alert(data[0].id);
Для Select2 3.x і нижче
Один вибір:
var data = $('your-original-element').select2('data');
if(data) {
alert(data.text);
}
Зверніть увагу, що коли немає виділення, змінна 'data' буде нульовою.
Мультивибір:
var data = $('your-original-element').select2('data')
alert(data[0].text);
alert(data[0].id);
alert(data[1].text);
alert(data[1].id);
З документації 3.x :
data Отримує або встановлює виділення. Аналогічний методу val, але працює з об’єктами замість ідентифікаторів.
метод даних, що викликається для одного вибору зі значенням, що не має значення, повертає нуль, тоді як метод даних, що викликається для порожнього мультивибору, повертає [].
$('your-original-element')
встановлено параметр множинного вибору$('your-original-element').select2('data')
, масив повертатиметься, у цьому випадкуdata.text
замість цього працювати не будеdata[index].text