Selectize.js не выводит результаты на русском языке
Есть <select> поле, используемое с плагином selectize.js. Данные для выбора загружаются по ajax запросу. Проблема: данные на английском языке автоматически выводятся при вводе запроса, данные на русском языке появляются только если снять фокус с <select> поля и снова кликнуть на него. Вопрос: как сделать чтобы русский работал как английский?
Я пытался использовать JSON.parse после ajax'a, не помогло, а может неправильно использовал.
Скриншот с английским (результаты появляются сразу во время ввода):

Скриншот с русским (ничего не появляется, хотя в отладке видно, что результаты ajax запроса уже пришли):

html:
<div>
<label for="su">Source:</label>
<select id="su"></select>
</div>
js:
$('#su').selectize({
maxItems: 1,
valueField: "id",
labelField: "title",
searchField: ["title"],
create: false,
load: (query, callback) => {
if(!query.length) return callback();
$.ajax({
url: 'http://127.0.0.1:8000/en/search-sources-select/',
type: 'GET',
dataType: 'json',
data: {'query': query},
success: (res) => callback(res.data),
error: () => callback(),
});
},
render: {
option: (item, escape) => {
return '<p>' + item.title + '</p>'
}
}
});
django view:
def search_sources_select(request):
query = request.GET.get("query", "[{]}(2")
data = Source.objects.filter(title__icontains=query)
data = [
{
"id": source.pk,
"title": source.title,
"type": source.get_readable_type(),
}
for source in data
]
return JsonResponse({"data": data}, status=200)
Ответы (1 шт):
Передавайте в опциях respect_word_boundaries: false:
$('#su').selectize({
maxItems: 1,
valueField: "id",
labelField: "title",
searchField: ["title"],
create: false,
respect_word_boundaries: false,
load: (query, callback) => {
if(!query.length) return callback();
$.ajax({
url: 'http://127.0.0.1:8000/en/search-sources-select/',
type: 'GET',
dataType: 'json',
data: {'query': query},
success: (res) => callback(res.data),
error: () => callback(),
});
},
render: {
option: (item, escape) => {
return '<p>' + item.title + '</p>'
}
}
});
