我有这段代码来比较两个值以验证它们是否相同:
$(document).on("blur", "[id$=boxSection5Total]", function (e) {
var totalvalue = $(this).val();
var paymenttotalvalue = $('[id$=boxPaymentAmount]').val();
if (totalvalue != paymenttotalvalue) {
console.log("The value in 'Total' does not equal the previous value in 'Payment Total.'");
alert("The value in 'Total' does NOT equal the previous value in 'Payment Total.' payment total is " + paymenttotalvalue + " and total is " + totalvalue);
}
else {
console.log("The value in 'Total' DOES equal the previous value in 'Payment Total'");
}
});
但是,如果两个文本元素都留空,则会失败 - 它们被认为不相等(“if (totalvalue != paymenttotalvalue)”条件为 true)。
如何重构代码,使其忽略两个元素都留空的情况?
类似于:
$(document).on("blur", "[id$=boxSection5Total]", function (e) {
var totalvalue = $(this).val();
var paymenttotalvalue = $('[id$=boxPaymentAmount]').val();
if ((totalvalue == null) & (paymenttotalvalue == null)) {
return;
}
. . .
});
?
“boxSection5Total”和“boxPaymentAmount”都是文本元素(文本框)。
最佳答案
如果您想专门检查 null,您应该尝试这样的操作。
if (totalvalue !== null && paymenttotalvalue !== null && totalvalue != paymenttotalvalue)
如果您想检查是否不真实(另请参阅此处:JavaScript: how to test if a variable is not NULL),您可以使用以下内容:
if (totalvalue && paymenttotalvalue && totalvalue != paymenttotalvalue)
关于javascript - 如何忽略 jQuery 中的两个 null 或未分配的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31280194/