12

テーブル内に数値を入力するためにノックアウトを使用しています。

HTML:

<tbody data-bind="foreach: commision">
             <tr>
                 <td>
                    <span>R </span><span data-bind="text: Amount"></span>
                 </td>
             </tr>...
</tbody>

金額と手数料に関するKnockout.js部分

 var vm = {
            commision: ko.observable(),
            futurecommision: ko.observable(),
            commisionpaid: ko.observable(),
            totals: ko.observable(),
            commisionPaid: ko.observable(ko.utils.unwrapObservable(ko.mapping.fromJS({
                Date: null,
                Amount: 0
            }))),
...

.00 などの 10 進形式で入力されている数値を表示するにはどうすればよいですか? 例えば。10.00

現在、10 などの数字のみが表示されています。

4

2 に答える 2

25

これを処理するカスタム エクステンダーを作成することを検討できます。

基本的なエクステンダーは次のようなものです。

ko.extenders.numeric = function(target, precision) {
    var result = ko.computed({
        read: function() {
            return target().toFixed(precision); 
        },
        write: target 
    });

    result.raw = target;
    return result;
};

これは、次のようなオブザーバブルで使用されます。

var commissionPaid = ko.observable(whatever your value is).extend({numeric: 2});
于 2013-04-15T07:40:22.680 に答える