I'mn использование selectize для загрузки результатов динамического поиска с использованием веб-службы ASP.Net и никаких проблем с этим. Однако, чтобы отобразить раскрывающийся список результатов, я должен потерять и восстановить фокус с элемента управления selectize (который удаляет текст) или удалить то, что я набрал.Отображение выпадающего списка динамических результатов поиска
Как отобразить раскрывающееся меню результатов при вводе? Это код, я использую
$('#input-tags3').selectize(
{
valueField : 'id',
labelField : 'name',
searchfield : 'name',
plugins : ['remove_button'],
options : [],
delimiter : ',',
highlight : true,
persist : true,
hideselected : true,
create : false,
load : function (query, callback)
{
if (!query.length || query.length < 3)
return callback();
$.ajax(
{
url : '../data/WebService1.asmx/GetLookup',
data : "pSearchType=CAC&pQuery=" + query,
type : 'GET',
error : function()
{
callback();
},
success : function (res)
{
callback(res);
}
}
);
}
score : function (search)
{
var score = this.getScoreFunction(search);
return function (item)
{
return score(item) * (1 + Math.min(item.watchers/100, 1));
};
},
render :
{
item : function (item, escape)
{
return '<div>'
+ '<b>' + item.id + '</b><p>' + item.name + '</p></div>'
},
option : function (item, escape)
{
return '<div>'
+ '<b>' + item.id + '</b><p>' + item.name + '</p></div>'
}
}
});
Кроме того, приведенный выше код присоединяет любые динамические результаты в выпадающем меню, и не ясно, что, как и ожидалось.
Примечание: Функция оценки была скопирована из документации для selectize.js на получение удаленных данных из GitHub; это не только не имеет отношения к текущему вопросу, но и к ошибкам, если источник удаленных данных не возвращает эти данные с атрибутом 'watchers', который можно использовать для подсчета очков. Я удалил эту функцию из моего собственного кода, чтобы не повлиять. – Adam