我正在使用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));
});
}
}
});
}
组合框位于EditorTemplate
中定义的Kendo.Grid()
内部:
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代码并找到了其中的选项:
但是,它们不会显示在组合框内。
我在这里想念什么?
答案 0 :(得分:0)
我通过不同方式定义数据源解决了这个问题:
$("#ReportPropertyCB").data("kendoComboBox").dataSource.data(data.data);
那个逻辑做到了