0

你能告诉我如何将带有输入字段的动态数量的表单的值分配给模板中的 MVVM 属性。官方文档的示例始终绑定到绑定数据源的属性。我不想使用数据源属性,因为我有一个更复杂的数据源,所以我不想将整个对象发送到服务器,只有输入的值!我想要这样:

<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);

您将看到输入属性没有得到输入的值。正确的方法是什么?

感谢

4

1 回答 1

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/

于 2015-10-07T14:59:42.657 回答