您能告诉我如何将带有input-field的动态数量的表单值分配给模板中的MVVM-Property。官方文档的示例始终绑定到绑定的dataSource的属性。我不想使用数据源属性,因为生病有一个更复杂的数据源,所以我不想将整个对象发送到服务器,只有输入的值!我想这样:
<div id="example" data-template="template" data-bind="source: arr"></div>
<script id="template" type="text/x-kendo-template">
<div>
<div> Age: ${age}</div>
<input type="text" data-bind="value: inputs"/>
<h1 data-bind="text: inputs"></h1>
<span data-bind="click: show">click</span>
</div>
</script>
var arr = new kendo.data.ObservableArray([
{ name: "John Doe", age: 23 },
{ name: "Jane Doe", age: 34 }
]);
var viewModel = kendo.observable({
arr: arr ,
inputs:"asdas",
show: function(){alert(viewModel.get('inputs'));}
});
kendo.bind($("#example"), viewModel);
您将看到输入属性未获得输入的值。这样做的正确方法是什么?
感谢
答案 0 :(得分:0)
这是您更新的代码
<div id="example" data-template="template" data-bind="source: arr"></div>
<script id="template" type="text/x-kendo-template">
<div>
<div> Age: ${age}</div>
<input type="text" data-bind="value: name"/>
<h1 data-bind="text: name"></h1>
<span data-bind="click: show">click</span>
</div>
</script>
var arr = new kendo.data.ObservableArray([
{ name: "John Doe", age: 23 },
{ name: "Jane Doe", age: 34 }
]);
var viewModel = kendo.observable({
arr: arr ,
inputs:"asdas", // Binding with this is also working
show: function(e){alert(e.data.name);}
});
kendo.bind($("#example"), viewModel);
在这个小提琴链接中工作:http://jsfiddle.net/iamsalik/pk7jr1x1/1/