2016-11-16 61 views
0

此代码似乎并不了解var中的整数。整数不解释

var btndelivery = $j('.delivery').parent("li"); 
var grandtotaltxt = $j(".gtman").text().replace("$", ""); 
var grandtotal = parseInt(grandtotaltxt); 
alert(grandtotal); 
$j(document).ready(function() { 
    if ($j(grandtotal) > 60) { 
    alert("plus grand"); 
    $j(btndelivery).show(); 
    } else { 
    alert("plus petit"); 
    $j(btndelivery).hide(); 
    } 
}) 

它始终提醒plus petit

+2

不要在jQuery中包装grandtotal。 – Malk

+0

'grandtotaltxt'的价值是什么? – AndreFeijo

+0

将'$ j(grandtotal)'更改为'+ $ j(grandtotal)'以将字符串转换为整数。 – randominstanceOfLivingThing

回答

0

变量grandtotal已被解析为一个整数。它看起来像你需要删除jQuery包装来比较它与另一个整数。另外,如果$j(".gtman").text()未定义,则替换函数将引发错误。将代码包装在if语句中可能很好。

if ($j(".gtman").length) { 
 
    var btndelivery = $j('.delivery').parent("li"); 
 
    var grandtotaltxt = $j(".gtman").text().replace("$", ""); 
 
    var grandtotal = parseInt(grandtotaltxt); 
 
    alert(grandtotal); 
 

 
    $j(document).ready(function() { 
 
    if (grandtotal > 60) { 
 
     alert("plus grand"); 
 
     $j(btndelivery).show(); 
 
    } else { 
 
     alert("plus petit"); 
 
     $j(btndelivery).hide(); 
 
    } 
 
    }); 
 
}

+0

在检查页面是否加载之前,您将获得总计值。这有什么意义? – jwpfox

0

您可以使用 '+' 号盈你想象得那么整数变量。

var integerVal = +$('someSelector').text(); 

这使得integerVal变量整型变量,而你不需要把parseInt函数它。 您可以refer this article获取更多此类JavaScript技巧。