сохраняйте идентификаторы выбранных результатов автозаполнения Kendo UI в скрытом поле ввода
Я написал этот код, чтобы использовать автозаполнение Kendo UI. Мне нужно показать заголовок выбранного результата в текстовом поле и сохранить if в каком-то скрытом вводе, как я могу получить id. похоже, что выбор не работает.
$("[data-autocomplete]").each(function () {
var luurl = $(this).attr('data-lookupurl');
var thisElemt = $(this);
$(this).kendoAutoComplete({
minLength: 3,
separator: ", ",
dataTextField: "title",
select: function (e) {
var selectedOne = this.dataItem(e.item.Index());
console.log(kendo.stringify(selectedOne));
},
dataSource: new kendo.data.DataSource({
serverFiltering: true,
serverPaging: true,
pageSize: 20,
transport: {
read: luurl,
dataType: "json",
parameterMap: function (data) {
return { title: thisElemt.val() };
},
schema: {
model: {
id: "id",
fields: {
id: { type: "id" },
title: { type: "string" }
}
}
}
}
})
});
});
3 ответа:
Есть ошибка опечатки, вы должны использовать:
e.item.index()
вместоe.item.Index()
(index
строчная буква).Таким образом, функция select будет иметь вид:
select : function (e) { var selectedOne = this.dataItem(e.item.index()); console.log(kendo.stringify(selectedOne)); },
И более простой способ:
var autocomplete = $("#autoCompleteId").data("kendoAutoComplete"); console.log(autocomplete.listView._dataItems[0]);
Вы можете получить доступ к выбору элемента данных в автозаполнении.элемент управления ListView._dataItems [0] object
Вы можете использовать скрипт
<script> $(document).ready(function () { $("#categories").change(function () { var url = '@Url.Content("~/")' + "Limitations/ThanaByDistrict_SelectedState"; var ddlsource = "#categories"; var ddltarget = "#target"; $.getJSON(url, { Sel_StateName: $(ddlsource).val() }, function (data) { $(ddltarget).empty(); $(ddltarget).val(data); }); }); }); </script>
В контроллере типа
// Get selected combox value public JsonResult ThanaByDistrict_SelectedState ( Guid Sel_StateName ) { JsonResult result = new JsonResult ( ); objects temp=db . objects . Single ( m => m . ob_guid == Sel_StateName ); result . Data = temp.ob_code; result . JsonRequestBehavior = JsonRequestBehavior . AllowGet; return result; }
Подробнее можно посмотреть ЗДЕСЬ Ссылка