删除输入的值后保持数字文本的默认值

时间:2013-05-08 17:17:54

标签: kendo-ui kendonumerictextbox

查看示例here 我遇到的问题是,即使在控件中删除了值,我仍需要在numerictextbox中保留0.00值。目前它在UI上显示为空。任何人都可以建议最清洁的问题解决方案吗?

1 个答案:

答案 0 :(得分: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);           
});