我使用knockout-kendo,下面是我的代码: markup:
<body>
<div id="mursi"
data-bind="kendoGrid:{ dataSource:{data:selectedAsset().RealEstateAssetBlockParcel ,pageSize:3} ,data:selectedAsset().RealEstateAssetBlockParcel, pageable: true,pageSize:5,sortable:true,scrollable:false,selectable:true,columns:[{title:'parcel'},{title:'plot'},{title:'subplot'},{ width:60},{ width:60}] ,rowTemplate: 'rowParcelTmpl', altRowTemplate: 'altParcelTmpl', useKOTemplates: true }"></div>
<button data-bind="replaceSelectedAsset">click me</button>
<script id="rowParcelTmpl" type="text/html">
<tr>
<td>
<div data-bind="text:Block"></div>
</td>
<td>
<div data-bind="text:Plot"></div>
</td>
<td>
<div data-bind="text:SubPlot"></div>
</td>
<td>
<button class="k-button"><span class="update-button"></span></button>
</td>
<td>
<button class="k-button"><span class="remove-button"></span></button>
</td>
</tr>
</script>
<script id="altParcelTmpl" type="text/html">
<tr class="k-alt">
<td>
<div data-bind="text:Block"></div>
</td>
<td>
<div data-bind="text:Plot"></div>
</td>
<td>
<div data-bind="text:SubPlot"></div>
</td>
<td>
<button class="k-button"><span class="update-button"></span></button>
</td>
><span class="remove-button"></span></button></td>
</tr>
</script>
</body>这是我的JS:
var selectedAsset = ko.observable();
//viewmodels
var assetViewModel = function () {
this.RealEstateAssetBlockParcel = ko.observableArray([]);
};
var asset = new assetViewModel();
asset.RealEstateAssetBlockParcel.push({Block: 1, Plot: 2, SubPlot: 3, Id: 0});
selectedAsset(asset);
var replaceSelectedAsset = function () {
selectedAsset(asset);
};
ko.applyBindings();一切都很好,直到你按下“单击我”按钮,该按钮假设选择另一个资产并显示其parcels网格,但我得到以下错误:“未捕获TypeError:无法调用未定义的方法'find‘”(源于kendo.web.all)
感谢您对http://jsbin.com/oboxig/3/edit的帮助
发布于 2013-01-07 20:03:06
我在you JSBin中看到的是button的data-bind中的一个错误。
你能不能试试:
function replaceSelectedAsset () {
selectedAsset(asset);
};并将button定义为:
<button onclick="replaceSelectedAsset()">click me</button>https://stackoverflow.com/questions/14193846
复制相似问题