Пожалуйста, обратитесь к фрагменту кода ниже: - -> Обработать события открытия и изменения для этого сохранить выбранный текст и значение в переменные -> Обработать события закрытия в этом наборе сохраненные значения обратно в раскрывающийся список Здесь нам нужнодобавить его в источник данных, чтобы он отображался в раскрывающемся списке
<div id="example">
<div class="demo-section k-content">
<h4>Products</h4>
<input id="products" style="width: 100%" />
</div>
<script>
$(document).ready(function() {
var selectedValue = 500;
var selectedText = 'PRODUCT 500';
function getDropDownList() {
var ddl= $("#products").data("kendoDropDownList");
selectedValue = ddl.value();
selectedText = ddl.text();
};
function setDropDownList() {
var ddl= $("#products").data("kendoDropDownList");
var dataItem = ddl.dataSource.get(selectedValue);
if(dataItem == undefined){
ddl.dataSource.add({ ProductName: selectedText, ProductID: selectedValue});
}
ddl.value(selectedValue)
};
$("#products").kendoDropDownList({
dataTextField: "ProductName",
dataValueField: "ProductID",
dataSource: {
transport: {
read: {
dataType: "jsonp",
url: "https://demos.telerik.com/kendo-ui/service/Products",
}
},
serverFiltering: true,
schema: {
model: { id: "ProductID" }
}
},
filter: "contains",
value: selectedValue,
text: selectedText,
change: getDropDownList,
close: setDropDownList,
open: getDropDownList,
autoBind: false,
"optionLabel": "Please select ..."
});
});
</script>
</div>