我使用Ajax填充Kendo.Combobox
:
function Edit(e) {
$.ajax({
url: "/TicketReportProperty/PopulateReportProperty",
type: "GET",
contentType: "application/json; charset=utf-8",
datatype: "json",
data: {'reportId' : @Html.Raw(Model.ReportID)},
success: function (data)
{
if (data != '') {
$(data.Data).each(function () {
console.log(this.PropertyName + " " + this.ReportGroup);
$("#ReportPropertyCB").append($("<option></option>").html(this.PropertyName));
});
}
}
});
}
组合框位于Kendo.Grid()
中定义的EditorTemplate
内
co.Bound(c => c.PropertyName).Title("Property Name").EditorTemplateName("_PropertyNameEditor");
这是Kendo().ComboBox
@(Html.Kendo().ComboBox()
.Name("ReportProperty")
.DataTextField("PropertyName")
.DataValueField("ReportPropertyID")
.HtmlAttributes(new { id = "ReportPropertyCB" })
)
在Ajax取得成功之后,我检查了Html代码,并找到了一些选项:
但是,它们不会显示在组合框中。
这里我漏掉了什么?
发布于 2019-05-21 03:41:05
我通过以不同的方式定义数据源解决了这个问题:
$("#ReportPropertyCB").data("kendoComboBox").dataSource.data(data.data);
这就是逻辑
https://stackoverflow.com/questions/56225518
复制相似问题