2016-11-16 6 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()がundefinedに戻った場合、replace関数はエラーをスローします。 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のトリックを行うことができます。

関連する問題