First enable server-side filtering by setting this option:
dataSource: { serverFiltering: true,
Then the value is passed as one of the parameters to the transport.parameterMap function.
If you were to register an object passed to parameterMap, like this:
$(".autocomplete").kendoAutoComplete({ dataTextField: "Name", dataSource: { serverFiltering: true, type: "json", transport: { read: { url: "/search/aspect" }, parameterMap: function (data, action) { console.log(data); } } } });
then you will get an object that looks like this:
{ "filter":{ "logic":"and", "filters":[ { "value":"something", "operator":"contains", "field":"Name", "ignoreCase":true } ] } }
So, you can use this to get the value entered in the autocomplete field by doing:
$(".autocomplete").kendoAutoComplete({ dataTextField: "Name", dataSource: { serverFiltering: true, type: "json", transport: { read: { url: "/search/aspect" }, parameterMap: function (data, action) { if(action === "read") { return { term: data.filter.filters[0].value }; } else { return data; } } } } });
source share