Можно ли вставить список в поле select2 и сопоставить каждый элемент в списке?
Я использую Select2 для управления большими списками данных. Пользователи выразили желание иметь возможность вставить список в поле Select2, чтобы выбирать различные элементы сразу, вместо того, чтобы вручную вводить и сопоставлять каждый элемент в списке.
Я пытался использоватьtokenSeparators
разделить элементы в списке. Это идемо на токены в документации заставь меня поверить, что то, что я надеюсь сделать, возможно, но пока у меня нет радости.
Код, который я использую для создания экземпляра Select2:
$('input').select2({
width: 'element',
matcher: function (term, text) {
return text.toUpperCase().indexOf(term.toUpperCase()) === 0;
},
minimumInputLength: 3,
multiple: true,
data: tagList, // tagList is an array of objects with id & text parameters
placeholder: 'Manage List',
initSelection: function (element, callback) {
var data = [];
$.each(function () {
data.push({id: this, text: this});
});
callback(data);
},
tokenSeparators: [',', ', ', ' ']
});
Просто чтобы уточнить, во всех остальных отношениях поле select2 работает. Это'Просто ничто не соответствует, когда список вставляется в поле. Я хотел бы проверить все элементы в вставленном списке. Возможно ли это, и если да, то как?
Редактировать: Я пробовал следующий код, но он не работает:
$('body').on('paste', '#s2id_list-unitids .select2-input', function () {
var that = this;
setTimeout(function () {
var tokens = that.value.split(/[\,\s]+/);
$('#list-unitids').val(tokens, true);console.log($('#list-unitids').select2('val'));
}, 1);
});
А вот скрипка я вышламы создали:http://jsfiddle.net/KCZDu/.