2012-01-25 12 views
0

簡単な質問:このようなネストは可能ですか? ifステートメントは最初にスイッチを渡してから別のifステートメントを実行するので、スイッチでキャッチされなかった他の値には影響しません。ネストされた条件付きステートメント(if、再度切り替えてください)

var cookie = ""; //some value previously setted by filtering a cookie, like a product id 
var prod = ""; 
var img = ""; 
if ((cookie != null) && (prod != '')) { 
    switch (cookie) { 
    case '001': case '002': case '003': 
     prod = "Product01"; 
     img = "product01.jpg" 
     break; 
    case '004': case '005': case '006': 
     prod = "Product02"; 
     img = "product02.jpg" 
     break; 
    case '007': case '008': 
     prod = "Product03"; 
     img = "product03.jpg" 
     break; 
    case 'null': 
     break; 
    } 
    if (window.location.pathname == 'somepage') { 
     //jQuery code 
    } else if (window.location.pathname == 'anotherpage') { 
     //jQuery code 
    } else { 
     //jQuery code 
    } 
} 
+1

なぜあなたはそれを試してみませんか? – Kimtho6

+5

はい、可能です – Kimtho6

+0

私にはうまく見えますが、エラーが出ますか? –

答えて

1

はいです。 ちょうどここhttp://www.w3schools.com/js/js_switch.asp、ここを見て...

if (condition){ 
    switch(n) 
    { 
    case 1: 
     execute code block 1 
     break; 
    case 2: 
     execute code block 2 
     break; 
    default: 
     code to be executed if n is different from case 1 and 2 
    } 
} 

とも

switch(n) 
    { 
    case 1: 
     if (condition) 
     { 
     code to be executed if condition is true 
     } 
     break; 
    case 2: 
     execute code block 2 
     break; 
    default: 
     code to be executed if n is different from case 1 and 2 
    } 

のようなもの、私はすべてのケースを表示するつもりはない..wellを書くことができますhttp://www.w3schools.com/js/js_if_else.asp elseステートメントについてさらに詳しく知ることができます。そして、誰かがコメントで悲しいように:それを試してみてください! これは理解するのが最善の方法です。

+0

Cool。私はすでにそれを読んでいます。だからこそ、私はなぜそれがうまくいかないのかと魅了されています...多分、コードのどこかでポイントを逃したでしょう...私は知らない... Tksの男! :) –

+0

私は何が起こるかを見るために、デフォルトのステートメントでコードを実行しようとします。 –

+0

あなたの質問に答えた場合は、これを「Accepted」と記入してください。 – BenjaminRH

関連する問題