【问题标题】:Jquery else if empty如果为空,则为 Jquery
【发布时间】:2012-03-26 09:21:48
【问题描述】:

我使用它来计算金额并根据两个文本框获得折扣。这有效,除了当第二个框为空时我得到一个 NaN 。只要我在第二个框中输入它就可以正常工作

$('#deal_price').keyup(function() {
var num1 = $("#deal_retail").val(),
num2 = $("#deal_price").val(),
result = parseInt(num1, 10) - parseInt(num2, 10);
result_percentage = result / parseInt(num1, 10);
result_percentage = parseFloat(result_percentage).toFixed(2);
result_percentage = result_percentage * 100;
$(".result_save").text(result); 
$(".result_percentage").text(result_percentage); 
});

如果如下所示,我尝试将 result_save 和 result_percentage 替换为空 else

if (result_percentage == '' || result == '') { }
else {
$(".result_save").text(result); 
$(".result_percentage").text(result_percentage); 
}

我不认为我知道如何使用空选项。有没有类似 php 的东西

if(empty($myvar)){ 
// nothing
}
else {
$dosomething = '2';
}

【问题讨论】:

    标签: javascript jquery nan


    【解决方案1】:

    如果要验证数字,请使用isNaN
    另外,除了使用if(..){}else{ ... },您还可以使用unary !if(!..){...}

    if (!isNaN(result_percentage)) {                // If the input is a valid number
        $(".result_save").text(result); 
        $(".result_percentage").text(result_percentage); 
    }
    

    【讨论】:

      【解决方案2】:

      看看下面的解决方案:

      http://jsfiddle.net/2rMn6/

      如果您使用三元运算符,您可以清除文本字段:

      $(".result_save").text(isNaN(result) ? '' : result);
      $(".result_percentage").text(isNaN(result_percentage) ? '' : result_percentage);
      

      【讨论】:

        猜你喜欢
        • 2014-01-21
        • 2011-11-27
        • 2021-04-29
        • 2013-10-28
        • 2018-09-20
        • 1970-01-01
        • 2011-11-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多