2016-05-04 2 views
0

У меня есть числовое текстовое поле, которое позволяет вводить цену за единицу. По мере того, как пользователь закручивает число вверх, unitPrice и количество умножаются, чтобы создать увеличенную цену.NumericTextBox - Выполнить вычисление JS в качестве номеров пользователей. Это можно сделать?

Что мне нужно, так это если пользователь вводит значение, чтобы иметь место при расчете, или по типу. Прямо сейчас, если они набирают 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); 


} 

ответ

0

Я не думаю, что Кендо UI имеет такую ​​функциональность, но вы можете сделать это с помощью обработчика keyup событий в JQuery:

$('#unitprice').keyup(function() { 
    calculateExtendedPrice(); 
}); 
+0

Я не мог получить kendoNumericTextBox, чтобы сделать это. Я изменил его на Textboxfor и использовал ваш скрипт и получил его работу. Благодарю. $ (document) .ready (function() { $ ('# UnitPrice'). keyup (function() { calculateExtendedPrice(); }); }); – corvair61

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