Я только начал использовать [select2] [1], и я работаю над проектом, которому нужен список тегов (например, на StackOverflow), который заполняется из источника данных JSON. Я использую пример, найденный по этому вопросу: [Tagging With Ajax In Select2] [2], но у меня возникают проблемы с его работой.select2 Tagging with JSON
// Testing JSON load
$("#testJsonLoad").select2({
tags: true,
tokenSeparators: [",", " "],
createSearchChoice: function (term, data) {
if ($(data).filter(function() {
return this.text.localeCompare(term) === 0;
}).length === 0) {
return {
id: term,
text: term
};
}
},
multiple: true,
ajax: {
url: 'data.json',
dataType: "json",
data: function (term, page) {
return {
q: term
};
},
results: function (data, page) {
return {
results: data
};
}
}
});
Только для целей тестирования на странице data.json имеет эти данные в нем:
{
"data": [
{ "id" : 1, "text" : "Alabama" },
{ "id" : 2, "text" : "Alaska" },
{ "id" : 3, "text" : "Arizona" },
{ "id" : 4, "text" : "Arkansas" },
{ "id" : 5, "text" : "California" },
{ "id" : 6, "text" : "Colorado" },
{ "id" : 7, "text" : "Connecticut" },
{ "id" : 8, "text" : "Delaware" },
{ "id" : 9, "text" : "District of Columbia" },
{ "id" : 10, "text" : "Florida" },
{ "id" : 11, "text" : "Georgia" },
{ "id" : 12, "text" : "Hawaii" },
{ "id" : 13, "text" : "Idaho" } ]
}
Моя проблема заключается в том, что я получаю эту ошибку: this.text неопределен - Линия 78
return this.text.localeCompare(term) === 0;
Я думаю, что это может иметь какое-то отношение к тому, как мой формат JSON отформатирован. Я пробовал несколько разных форматов, и большинство моих исследований в Интернете не дали положительных результатов.
Это не работает для меня ... –
Как выглядит ваш JSON? –