Javascript 如何通过回滚剑道UI中以前的有效值来撤消输入值
我有一个输入组件,如下所示:Javascript 如何通过回滚剑道UI中以前的有效值来撤消输入值,javascript,validation,kendo-ui,Javascript,Validation,Kendo Ui,我有一个输入组件,如下所示: <input type="number" value="0" name="weight" format="0" min="50" max="100"> 我所期望的是: 输入一个介于50和100之间的数字,例如70 关注其他组件,然后再关注此输入 输入一个小于50或大于100的数字,例如20 关注其他组件 我希望框返回到70,而不是填充50,即min属性 感谢您的帮助您可以执行以下操作: var ntb = $("#num").kendoNumeri
<input type="number" value="0" name="weight" format="0" min="50" max="100">
我所期望的是:
感谢您的帮助您可以执行以下操作:
var ntb = $("#num").kendoNumericTextBox({
min : 50,
max : 100
}).data("kendoNumericTextBox");
var oldvalue = undefined;
$("#num").on("focusin", function(e) {
oldvalue = $("#num").val();
});
$("#num").on("focusout", function(e) {
var value = $("#num").val();
if (value < ntb.options.min || value > ntb.options.max) {
$("#num").val(oldvalue);
}
});
看到它在这里运行:在KendoNumericTextBox对象中有一个名为“\u old”的字段;至少在处理NumericTextBoxSpineEvent时,这是非常有用的,即:
非常感谢你,欧娜白。这确实有效。但我有大量的输入和页面。这可能是一种通用方法吗?
// Save old value in the numeric text box by adding an oldvalue property to it
$("[data-role='numerictextbox']").on("focusin", function(e) {
var me = $(this).data("kendoNumericTextBox");
me.oldvalue = $(this).val();
});
// Restore saved old value if value is not in range
$("[data-role='numerictextbox']").on("focusout", function(e) {
var value = $(this).val();
var me = $(this).data("kendoNumericTextBox");
if (value < me.options.min || value > me.options.max) {
$(this).val(me.oldvalue);
}
});
function spinEventHandler(e) {
alert("delta from spin is: " + (+e.sender._value - e.sender._old));
}