2017-06-01 63 views
-2

我試圖做到這一點,當我運行一個函數時,它也運行我的switch語句,以便我的「選擇」變量被檢查(通過開關)決定要輸出給用戶的內容。如何在每個函數運行後運行我的開關狀態?

當function1()運行時...運行switch ... case「option1」... Javascript tel我說:「選擇了選項1」。

我可以只是將我的switch語句包裝在for循環中,並且有一個參數用於查找我的三個函數中的任何一個運行時是否運行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

歡迎來到Stack Overflow!請[參觀],環顧四周,並閱讀[幫助],特別是[*我如何提出一個好問題?*](/幫助/如何問)我也建議通過一些工作在開始在Stack Overflow上發佈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; 
    } 
} 
相關問題