1
$(document).ready(function () { 
var combobox = $("#Id").data("kendoComboBox");
 combobox.dataSource.data(jsonData);
});

我正在尝试为文档准备好组合框设置数据源,但是,我无法设置组合框始终未定义...

我在剃刀局部视图中声明组合框..

        @(Html.Kendo().ComboBoxFor(model => model.Id)
        .HtmlAttributes(new { style = "width: 100%;" })
         )

组合元素在那里......但是组合的数据源是未定义的......所以我可能需要在加载时初始化数据源事件吗?我怎样才能做到这一点?

4

3 回答 3

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

于 2013-11-06T21:05:35.467 回答
0

Kendo 组合框不包含在标准核心或网络包中。

请使用位于 http://cdn.kendostatic.com/2014.1.318/js/kendo.all.min.js的 kendo.all.min.js

为了获得对 kendoComboBox 的访问权限。

于 2014-03-31T21:26:02.180 回答
0

尝试这个:

 var combobox = $("#ID").data("kendoComboBox");
 combobox.dataSource.read();
于 2018-01-19T07:07:36.150 回答