Javascript 未按预期呈现函数

Javascript not rendering function as expected

本文关键字:函数 Javascript      更新时间:2023-09-26

好的,我有这个观点

<input type="input" class="form-control mortgage-refinance-only" id="mortgage-cash-out-tenure" placeholder="">
      <span class=" cash-out-tenure-error hidden" style="color:red; font-size: 10px">Value can be 'NA' or greater than 1</span>

我有这个JavaScript函数

$('#mortgage-cash-out-tenure').change(function(){
    var cashOutTenure = $('#mortgage-cash-out-tenure').val();
    if(cashOutTenure != 'NA' || cashOutTenure < 1){
        $('.cash-out-tenure-error').removeClass("hidden");
    else {
        $('.cash-out-tenure-error').addClass("hidden");
    }
  }); 

好的,基本上,如果输入标签的值不是"NA"或小于 1,它应该使跨度可见并显示错误消息,否则它不会显示错误消息。

但它似乎无法正常工作。如果它不等于"NA",则错误正确放置,但如果值是数字,它仍然显示错误消息。

代码有什么问题?任何帮助帮助都非常感谢。

谢谢

代码中存在语法错误。此外,您的if语句与您的文本描述不匹配。

给定所需的功能,if语句应为:

if (cashOutTenure == 'NA' || cashOutTenure >= 1) {
    $('.cash-out-tenure-error').addClass('hidden');
} else {
    $('.cash-out-tenure-error').removeClass('hidden');
}

在 OR 或 AND 表达式中否定子句时,需要注意比较运算符以及将 OR 更改为 AND(反之亦然)。重复德摩根定律来更新这些概念。

您的原始代码:if(cashOutTenure != 'NA' || cashOutTenure < 1) 在任何时候评估 true cashOutTenure 的值不是 'NA' 的值,包括所有数值。

还有一件事:您的错误消息与您对所需效果的描述不匹配。此错误消息:

值可以是"NA"或大于 1

。表示不允许值为 1。但是您的描述说任何小于 1 的内容都是错误。在编写代码(或错误消息)之前仔细考虑要求...