我有一个数字文本框,允许输入单价。当用户旋转数字时,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);
}
答案 0 :(得分:0)
我不认为Kendo UI具有该功能,但您可以使用jQuery中的keyup事件处理程序来实现:
$('#unitprice').keyup(function() {
calculateExtendedPrice();
});