1

こちらのサンプルをご覧ください。 私が抱えている問題は、値がコントロールで削除されても、numerictextbox に 0.00 の値を残す必要があることです。現時点では、UI では空として表示されます。誰でも問題の最もクリーンな解決策をアドバイスできますか?

4

1 に答える 1

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);           
});
于 2013-05-08T17:33:06.700 に答える