2013-05-08 73 views

回答

2

您可以实现您的目标,连接小部件的更改事件,并在触发时修改其值和模型的值。

<div id="view"> 
    <div data-template="containertpl" data-bind="source: People"></div>  
    <button data-bind="click: AddNew">Add</button> 
</div> 


<script id="containertpl" type="text/x-kendo-template"> 
    <div> 
     <label for="FirstName#:id#">Name</label> 
     <input name="FirstName#:id#" type="text" data-bind="value: FirstName"/> 
     <input data-role="numerictextbox" data-bind="value: Income, events: { change: numericChange }"/> 
    </div> 
</script> 

var viewModel = kendo.observable({  
    People: [ 
     {id: 1, FirstName: "", Income: "0.00" }, 
     {id: 2, FirstName: "", Income: "0.00" }, 
     {id: 3, FirstName: "", Income: "0.00" } 
    ], 
    numericChange: function(args) { 
     var numeric = args.sender; 

     if (numeric.value() === null) { 
      numeric.value(0); 
      args.data.set("Income", 0); 
     } 
    } 
}); 

viewModel.AddNew = function(){ 
    viewModel.People.push({id: viewModel.People.length + 1, FirstName: "Generated", Income: "0.00"}); 
}; 

$(document).ready(function(){  
    kendo.bind($("#view"), viewModel);   
});