$(document).ready(function () {
var combobox = $("#Id").data("kendoComboBox");
combobox.dataSource.data(jsonData);
});
我正在尝试在文档准备好的情况下为组合框设置数据源,但是,我无法设置组合框始终未定义...
我在剃刀局部视图中声明组合框..
@(Html.Kendo().ComboBoxFor(model => model.Id)
.HtmlAttributes(new { style = "width: 100%;" })
)
comobo元素在那里......但是组合的数据源是未定义的...所以我可能需要在加载时初始化数据源事件吗?我怎样才能做到这一点?
答案 0 :(得分:1)
在JavaScript中,变量的作用域是一个函数。因此,var combobox
仅在ready
期间执行的函数内可见。将移动声明和用法修复到同一范围:
$(function () {
var combobox = $("#combo").data("kendoComboBox");
combobox.dataSource.data(jsonData);
});
或:
$(function () { });
var combobox = $("#combo").data("kendoComboBox");
combobox.dataSource.data(jsonData);
另请注意,如果您在.data("kendoComboBox")
之前运行脚本,ready
可能还不可用。
答案 1 :(得分:0)
Kendo组合框不包含在标准核心或Web包中。
请使用位于的kendo.all.min.js http://cdn.kendostatic.com/2014.1.318/js/kendo.all.min.js
以获得对kendoComboBox的访问权。
答案 2 :(得分:0)
试试这个:
var combobox = $("#ID").data("kendoComboBox");
combobox.dataSource.read();