2016-11-22 15 views
1

私はJavaScriptの方が新しく、このif/then/else if文で少し問題があります。私は下のいくつかのことを試しましたが、固執しています。誰にもアイデアはありますか?jQueryが10未満の場合はこれを行い、そうでない場合は0を返します。

if (variant.inventory_management == "shopify" && variant.inventory_policy != "continue") { 
    if (variant.inventory_quantity < 10) { 
     $lowStockAmount.html('Last few remaining! only ' + variant.inventory_quantity + ' left'); 
    } else if (variant.inventory_quantity < 1) { 
     $lowStockAmount.html("We're sold out, Don't worry! <a href='#'>click here</a> to be notified when it's back in stock."); 
    } 
    } 

私は= 0も試してみましたが、私は同じことになります。最後のいくつかが残っています! 0は残っていますが、0の場合は売り切れメッセージを表示したいと思います。

+0

あなたも、値<1はvariant.inventory_quantity <10は常に10未満 – DinoMyte

+1

の対象となるためvariant.inventory_quantity <10前variant.inventory_quantity <1をチェックする必要があります何らかの理由でメッセージが表示されているようですので、売り切れのメッセージを表示するには0以下、残りのメッセージを表示するには10未満のものは間違っている可能性があります。 –

答えて

2

はあなたの問題を単純化した答えです。数量が0の場合は、「売り切れです」という情報を表示します。そうでない場合は、数量が0ではなく10未満の場合は、「最後の残りの数」の情報を表示します。それ以外の場合は何も表示しないでください。あなたは、文字列と数値を比較しているので、

var quantity = 10; 

if (quantity === 0) { 
    console.log("We're sold out, Don't worry! <a href='#'>click here</a> to be notified when it's back in stock."); 
} else if (quantity < 10) { 
    console.log('Last few remaining! only ' + quantity + ' left'); 
} 

quantity == "0"は、動作しません。

EDIT:quantity == "0"は2つの値を比較する適切なスタイルではありません。

+0

ありがとうございました。ちょっとした変更が必要でしたが、 – James

+1

'=='は '==='とは対照的に '=='がタイプをチェックしていないので、実際には 'quantity ==" 0 "'が動作します – connexo

+0

@ connexoはい、あなたは絶対に正しいですが、このコーディングスタイルは、伝播するべき習慣ではなく、他の状況で問題を引き起こす可能性があります。 – michelgotta

1

今のところ論理を考えてみましょう。 variant.inventory_quantityが0の場合、variant.inventory_quantityが10より小さくない場合にのみチェックされるため、else if文は実行されません。

ここに修正があります。これに

if (variant.inventory_quantity < 10) {

:この行を変更します。ここ

if (variant.inventory_quantity < 10 && variant.inventory_quantity > 0) {

+0

Noneです0 0とするためにtrueを返しますので、です<10 – James

+0

新しいコードを貼り付けて、タイプミスがないことを確認できますか? –

+0

私はそれをもう一度変更しました。if(variant.inventory_quantity <10 && variant.inventory_quantity> 0){ $ lowStockAmount.html( '最後に数個残っています' + variant.inventory_quantity + 'left'); } else if(variant.inventory_quantity == "0" | variant.inventory_quantity <0){ $ lowStockAmount.html( "在庫切れの際にご連絡させて頂きますので、ご安心ください!click here "); } – James

関連する問題