2013-05-08 4 views
1

Посмотрите на образец here. Проблема заключается в том, что мне нужно, чтобы значение 0.00 оставалось в числовом текстовом поле, даже если это значение удалено в элементе управления. На данный момент он выглядит пустым в пользовательском интерфейсе. Может ли кто-нибудь посоветовать самые чистые решения проблемы?Сохранение значения по умолчанию для числового текста после удаления введенного значения

ответ

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

 Смежные вопросы

  • Нет связанных вопросов^_^