У меня есть этот код для сравнения двух значений, чтобы убедиться, что они идентичны:
$(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)" истинно).
Как мне реорганизовать код, чтобы он игнорировал случаи, когда оба элемента были оставлены пустыми?
Что-то типа:
$(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 && !paymenttotalvalue) { return; }
, но, вероятно, лучше сочетать его с другим условным предложением. - person user2864740   schedule 08.07.2015