我正在为我的文本框使用jQuery,我正在尝试动态更新其中一个,如下面的代码所示:
p.updateDeposit = function (formElement, amount) {
if (this.defaultDeposit + amount < 10) {
this.defaultDeposit = 10;
} else {
this.defaultDeposit = this.defaultDeposit + amount;
}
$(formElement + " #depositAmount").val(this.defaultDeposit);
}
我有2个按钮可以在存款中添加和减去,这会调用该功能:
$('#paymentDetailsForm #moreMoney').fastClick(function () {
that.updateDeposit('#paymentDetailsForm', 25);
});
$('#paymentDetailsForm #lessMoney').fastClick(function () {
that.updateDeposit('#paymentDetailsForm', -25);
});
我有一个功能来验证用户的手动输入:
p.validateUserDepositInput = function (formElement, input) {
if (isNaN(input)) {
$(formElement + " #depositAmount").val(this.defaultDeposit);
} else {
this.defaultDeposit = parseFloat(input);
}
}
我也在使用jQuery验证器进行错误警报。
问题是当用户在文本框中写入NaN
,然后按下按钮添加到金额时,我可以看到框中的数字更改 - 但错误alert
deposit must be more than 10
仍在使用!并且一直持续到用户输入大于10的数字。
换句话说:.val运算符对jQuery验证器没有影响。
是否有其他方法可用于更新文本框并同时调用验证功能?
谢谢!