2016-11-16 57 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技巧。