我在 jsFiddle 中设置了一个简单的示例,我在其中初始化了一个剑道网格,然后绑定了一个视图模型。Chrome 中每一行的数据都填充在网格中,但 IE9 中没有。
这是html:
<div id="example">
<table>
<thead>
<tr>
<th>Name</th>
<th>Price</th>
<th>Units</th>
</tr>
</thead>
<tbody data-template="row-template" data-bind="source: products"></tbody>
</table>
<script id="row-template" type="text/x-kendo-template">
<tr>
<td data-bind="text: name">
</td>
<td>
#: kendo.toString(get("price"), "C") #
</td>
<td data-bind="text: unitsInStock"></td>
</tr>
</script>
</div>
这是JS:
$(document).ready(function () {
var viewModel = kendo.observable({
products: [{
name: "Hampton Sofa",
price: 989.99,
unitsInStock: 39
}, {
name: "Perry Sofa",
price: 559.99,
unitsInStock: 17
}, {
name: "Donovan Sofa",
price: 719.99,
unitsInStock: 29
}, {
name: "Markus Sofa",
price: 839.99,
unitsInStock: 3
}]
});
$("#example table").kendoGrid();
kendo.bind($("#example"), viewModel);
});
这是 jsFiddle:http: //jsfiddle.net/e2XHN/1/
在我的原始示例中,我data-role="grid"
在表格元素上使用,但这段代码更清晰。如果$("#example table").kendoGrid();
是之后,kendo.bind($("#example"), viewModel);
那么它可以在 IE 中使用。如果它在此之前,则它不起作用,并且控制台中不会出现异常。它在 chrome 中双向工作。
我知道我也可以将其设置为网格的数据源。我的偏好是使用data-role="grid"
,所以这就是我关心的原因。
所以我有一个解决方法,但有谁知道为什么这在 IE9 中不起作用但在 Chrome 中起作用?
我只是将其作为 Telerik 的错误打开,但是当我访问他们的公共问题跟踪器(http://www.telerik.com/support/pits.aspx)时,它对我来说是空白的。