2015-10-01 3 views
0

. Можете ли вы рассказать мне, как назначить значение динамического количества форм с полем ввода в MVVM-Property в шаблоне. Примеры официальной документации всегда привязаны к свойству связанного источника данных. Я не хочу использовать свойства datasource, потому что у больного есть более сложный источник данных, поэтому я не хочу отправлять весь объект на сервер, только введенные значения! Я хочу к этому:Kendo-UI присваивает значения шаблону 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); 

Вы увидите, что свойство input не получает введенное значение. Каков правильный способ сделать это?

Спасибо

+0

Они работают отлично. проверьте эту скрипку http://jsfiddle.net/iamsalik/pk7jr1x1/ Если ваше требование другое, тогда объясните это дальше – IamSalik

ответ

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/