0

単価を入力できる数値テキスト ボックスがあります。ユーザーが数字をスピンアップすると、unitPrice と数量が乗算されて拡張価格が作成されます。

私が必要とするのは、ユーザーが値を入力して計算を行う場合、または入力時に値を入力する場合です。現在、unitPrice を入力しても、ページの別の場所をタブまたはクリックするまで、extendedPrice は計算されません。

これを行う方法はありますか?

私は C# にはかなり慣れていませんが、長年の開発者です。助けてくれてありがとう。

 <div class="form-group">
        <div class="col-md-2">
        @Html.LabelFor(model => model.UnitPrice, new { style =              "width: 30px;" });

        </div>
        <div>
            <div class="col-md-8">

            @(Html.Kendo().NumericTextBox<int>()
            .Name("unitprice")
            .Events(e => e
            .Change("calculateExtendedPrice")
            .Spin("calculateExtendedPrice"))
            .Decimals(2)
            .Format("c")
            .Min(0)
            .Max(10000)
            .Value(0)
            .HtmlAttributes(new { style = "width: 20%" })
                )

            @Html.Label("Extended Price",   new { style = "width: 100px;" })
            <label id="extendedPrice" ></label>
       </div>
        </div>
    </div>

スクリプト:

 function calculateExtendedPrice() {


    var unitPriceControl = $("#unitprice").data("kendoNumericTextBox");
    var unitPrice = unitPriceControl.value();
    var quantityControl = $("#quantity").data("kendoNumericTextBox");
    var quantity = quantityControl.value();
    //alert(unitPrice);

    if (quantity == null || unitPrice == null) {
        return;
    }

    var extendedPriceCalc = quantity * unitPrice;
    $("#extendedPrice").text(extendedPriceCalc);


}
4

1 に答える 1

0

Kendo UI にその機能があるとは思いませんが、jQuery でkeyupイベント ハンドラーを使用して実行できます。

$('#unitprice').keyup(function() {
    calculateExtendedPrice();
});
于 2016-05-04T16:58:39.163 に答える