2017-06-01 4 views
-2

私は関数を実行するときにそのようにしようとすると、スイッチのステートメントも実行されるので、ユーザーに何を出力するかを決めるために、スイッチを介して "選択"変数がチェックされます。各機能の実行後に私のスイッチのステートメントを実行するには?

function1()が実行されているとき...スイッチを実行... case "option1" ... Javascriptで "Option 1 is selected"と表示されます。

forループでswitch文をラップして、3つの関数のいずれかが実行されたときにswitch文を実行するときに引数を探すことができますか?

var choice = "undefined"; 

    function option1() { 
     "use strict"; 
     var choice = "option1"; 
    } 
    function option2() { 
     "use strict"; 
     var choice = "option2"; 
    } 
    function option3() { 
     "use strict"; 
     var choice = "option3"; 
    } 

    switch (choice) { 
     case 'option1': 
     alert("Option 1 selected");  
     break; 
     case 'option2': 
     alert("Option 2 selected");  
     break; 
     case 'option3': 
     alert("Option 3 selected");  
     break; 
     default: 

     break; 
    } 
+0

観測値は非常に複雑で、あなたはプロキシを使用する必要があると思います。私はあなたの問題を別の方法で設計することをお勧めします。 – PeterMader

+0

ようこそスタックオーバーフロー! [ツアー]を見て周りを見て、[ヘルプ]、特に[*どのように私は良い質問をしますか?*](/助け/やり方)を読んでください。スタックオーバーフローに関するJSの質問を投稿する前に、JavaScriptチュートリアルおよび/またはJavaScriptの最初の本を読んでください。 –

+0

'alert(" Option 1 selected ");を関数' option1'の中に入れるのはなぜでしょうか? –

答えて

0

変数が変更されたときにswitch文を再実行する必要があります。 option関数内のchoice変数は、var(既存の変数に代入するのではなく新しい変数を作成しています)で再宣言しないでください。私は本当にあなたが何をしたいのか理解していない

var choice = "undefined"; 

function option1() { 
    "use strict"; 
    choice = "option1"; 
    onChoiceChange(); 
} 

function option2() { 
    "use strict"; 
    choice = "option2"; 
    onChoiceChange(); 
} 

function option3() { 
    "use strict"; 
    choice = "option3"; 
    onChoiceChange(); 
} 

function onChoiceChange() { 
    switch (choice) { 
    case 'option1': 
     alert("Option 1 selected");  
     break; 
    case 'option2': 
     alert("Option 2 selected");  
     break; 
    case 'option3': 
     alert("Option 3 selected");  
     break; 
    default: 

    break; 
    } 
} 
+0

ありがとうございます!これは完全に意味をなさない!私はそれを行くだろう:) –

0

...

<a class="button" href="#" onClick="choice('option1')">Choice Me</a> 

function choice(valor) { 

    switch (valor) { 
     case 'option1': 
     alert("Option 1 selected");  
     break; 
     case 'option2': 
     alert("Option 2 selected");  
     break; 
     case 'option3': 
     alert("Option 3 selected");  
     break; 
     default: 

     break; 
    } 
} 
関連する問題