Если единственная причина использования autocomplete
заключается в том, что список значений огромен, и вы хотите сделать фильтрацию на стороне сервера (serverFiltering
) с помощью виджета multiselect
. Вам просто нужно определить serverFiltering
как true
.
Пример:
var ds = new kendo.data.DataSource({
transport: {
read: {
url : "getData.php"
}
},
serverFiltering: true
});
$("#items").kendoMultiSelect({
dataValueField: "name",
dataTextField : "name",
dataSource : ds
});
Вы получите некоторые дополнительные параметры, говоря, что пользователь набрал до сих пор, и вы сервер может возвращать только данные, удовлетворяющие условию.
Этот JSFiddle (http://jsfiddle.net/OnaBai/rpDuL/) пытается показать вам, как это работает. Вы можете начать вводить имя страны и видеть, что она фактически фильтрует данные. Поскольку это всего лишь JavaScript, я смоделировал фильтрацию сервера, реализуя функцию read
, которая содержит данные для этих записей, удовлетворяющих этому условию.
Почему бы не использовать мультиселекцию? Что вы ищете из автозаполнения, которое вы пропустили в мультиселективе? – OnaBai
Я выбрал виджеты автозаполнения для тех полей ввода, которые привязаны к источнику данных со многими элементами данных (несколько тысяч). Поэтому в этом случае пользователь вводит первые (то есть) 3 буквы, а источник данных фильтруется в соответствии с его вводом. – user1221271