請原諒我的noobness,但我是新來的使用Telerik控件。我見過很多這方面的例子,但他們一直無法解決我的問題。我有一個Kendo UI multiselect小部件,其中包含一些項目和一個按鈕,點擊後會用多個項目部分填充多選部件。這些項目是以控制器方法(ASP.NET MVC)的JSON形式獲取的。所以,按鈕點擊實際上會觸發ajax請求,並且在成功啓動時,會調用javascript函數來填充多選部件。截至目前,ajax被成功解僱,我想要的數據成功迴歸,只是多選不顯示值。將項目添加到kendo ui multi select
我的JavaScript/AJAX方法:
function addItems(items) {
var values = new Array();
for (var i = 0; i < items.length; i++) {
values[i] = items[i].Item.ID;
// gets values back correctly
console.log(values[i]);
}
// print values
$('#items').data("kendoMultiSelect").value(['"' + values + '"']);
};
// success
$(document).on("click", "#add-items-button", function() {
var myUrl = $('#MyURL').val();
$.ajax({
url: myUrl, // get URL from view
method: 'GET',
dataType: 'json',
success: function (data) {
addItems(data);
},
error: function (xhr, status, error) {
console.log(error);
}
});
});
我多選小部件是一個局部視圖,以便:
@using Kendo.Mvc.UI
@(Html.Kendo().MultiSelect()
.Name("items") // Name of the widget should be the same as the name of the property
.DataValueField("ID")
.DataTextField("Name")
.BindTo((System.Collections.IEnumerable)ViewData["items"])
.Placeholder("Add Items")
)
我缺少的東西很明顯?我是否將數據以不正確的格式寫回多選控件?請幫忙。
所以我實際上並不需要使用.value來呈現數據,是嗎?你能否給我提供一個jsFiddle演示文件,用於處理一系列數據(在for循環中),而不是硬編碼ID和名稱? –
其實,我想通了,謝謝你的方向:) –
哦,對不起,這個問題已經解決了,但是你能否告訴我如何在多選控件區域中設置這些項目後,如何從列表中刪除這些項目?有沒有我需要打電話的事件? –