问题可能出在您的model
定义中,即您绑定到组合框的内容。
根据您的定义,您的 JavaScript 应该类似于:
var dataSource = new kendo.data.DataSource({
type: "odata",
transport: {
...
}
});
var model = new kendo.observable({
dataSourceType: dataSource,
model : { Id: 2 }
});
kendo.bind($("#type"), model);
2
您希望作为默认(初始)值的值在哪里。
意识到我不得不声明一个额外model
的 for ,Id
因为你在你的data-bind
定义中说value
是model.Id
.
也许你想说:
var model = new kendo.observable({
dataSourceType: dataSource,
Id: 2
});
kendo.bind($("#type"), model);
然后您应该将 HTML 定义为:
<input id="type"
data-role="combobox"
data-value-primitive="true"
data-auto-bind="true"
data-text-field="Name"
data-value-field="Id"
data-bind="value: Id, source: dataSourceType">
$(document).ready(function() {
var dataSource = new kendo.data.DataSource({
type: "odata",
serverFiltering: true,
transport: {
read: {
url: "http://demos.telerik.com/kendo-ui/service/Northwind.svc/Products",
}
}
});
var model = new kendo.observable({
dataSourceType: dataSource,
Id: 2
});
kendo.bind($("#cbox"), model);
});
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.common.min.css" />
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.default.min.css" />
<script src="http://cdn.kendostatic.com/2014.3.1119/js/jquery.min.js"></script>
<script src="http://cdn.kendostatic.com/2014.3.1119/js/kendo.all.min.js"></script>
<input id="cbox"
data-role="combobox"
data-value-primitive="true"
data-auto-bind="true"
data-text-field="ProductName"
data-value-field="ProductID"
data-bind="value: Id, source: dataSourceType">