Javascript 如何在jQuery中忽略两个空值或未赋值值?
我使用此代码比较两个值,以验证它们是否相同:Javascript 如何在jQuery中忽略两个空值或未赋值值?,javascript,jquery,null,onblur,htmltext,Javascript,Jquery,Null,Onblur,Htmltext,我使用此代码比较两个值,以验证它们是否相同: $(document).on("blur", "[id$=boxSection5Total]", function (e) { var totalvalue = $(this).val(); var paymenttotalvalue = $('[id$=boxPaymentAmount]').val(); if (totalvalue != paymenttotalvalue) { console.log("
$(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”都是文本元素(文本框)。如果它们实际上是空白文本值,则使用
if(totalvalue === "" && paymenttotalvalue === "")
{
return;
}
或者(我想)
如果这些实际上是空白文本值,则使用
if(totalvalue === "" && paymenttotalvalue === "")
{
return;
}
或者(我想)
如果您想特别检查null,您应该尝试这样的方法
if (totalvalue !== null && paymenttotalvalue !== null && totalvalue != paymenttotalvalue)
如果要检查不真实(也请参见此处:),可以使用以下选项:
if (totalvalue && paymenttotalvalue && totalvalue != paymenttotalvalue)
如果您想特别检查null,您应该尝试这样的方法
if (totalvalue !== null && paymenttotalvalue !== null && totalvalue != paymenttotalvalue)
如果要检查不真实(也请参见此处:),可以使用以下选项:
if (totalvalue && paymenttotalvalue && totalvalue != paymenttotalvalue)
该值将不会为“null”,并且
“==null
为false。如果(!totalvalue&&!paymenttotalvalue){return;},则对现有的最简单也是最惯用的更改是,但最好与其他条件组合。@如果它来自html表单,则其主要被视为空值,该值将不会为“null”,并且“==null
为false。如果(!totalvalue&&!paymenttotalvalue){return;}
,则对现有的最简单也是最惯用的更改是,但最好与另一个条件组合使用。@up true,如果它来自html表单,则通常被认为是空值,并且===而不是==(例如,false==“”实际上是true)getElementById将不起作用,因为Sharepoint元素前面有一堆希腊语、俄语、保加利亚语等,比如“id=zorbaIvan_bulgarischesSemillaDe0143209870945634-boxSection5Total”在事件处理程序中返回布尔值?@B.Clay Shannon您可以返回您想要的内容。我添加的代码本应仅用作示例中的sudo代码。@常识:好的,没有问题。和===而不是==(例如,false==“”实际上是真的)getElementById不起作用,因为Sharepoint元素前面有一堆希腊语、俄语、保加利亚语等,如“id=zorbaIvan_bulgarischesSemillaDe0143209870945634-boxSection5Total”在事件处理程序中返回布尔值?@B.Clay Shannon您可以返回您想要的值。我添加的代码只应该用作示例中的sudo代码。@常识:好的,不用担心。