2017-03-19 15 views
0

switch文を確認してくださいHTML JavaScriptを使用して選択してください

デフォルトオプションのみが動作します。

case x="Fin"およびcase x="Intercom"は機能しません。理由は分かりません。ありがとう!

コード:

<p>Niche</p> 
     <select name="niche" id="niche" onchange="FCM_niche()"> 
      <option value="empty" selected="">Select Niche</option> 
      <option value="fin">FIN</option> 
      <option value="intercom">Intercom</option> 
     </select> 

    <script type="text/javascript"> 
       function FCM_niche() { 
        var x = document.getElementById("niche").value; 
        switch (true) { 
         case x="FIN": 
          document.getElementById("FCM_select_niche").innerHTML = "FFFF"; 
          break; 
         case x="Intercom": 
          document.getElementById("FCM_select_niche").innerHTML = "IIII"; 
          break; 
         default: 
          document.getElementById("FCM_select_niche").innerHTML = "DDDD"; 
         } 
       }; 
      </script> 
<div id="FCM_select_niche">   
</div> 
+0

switch文が間違っています。 'switch(true)'は、スイッチを最初に置いた点全体を否定します。 – Bango

+0

@Bango - 'switch(true)'は完全に有効です。しかし、その場合は '='ではなく '=='または '==='でなければならない。つまり、それは代入ではなく比較でなければならない。 ( '='は構文エラーではありませんが、OPが望むことはしません) – nnnnnn

+0

私はそれが有効であると議論していません。スイッチがどのように使用されるのかはまったく分かりません。 – Bango

答えて

1

これを見てくださいはフィドルあなたのコードの作業バージョンを示すJS: https://jsfiddle.net/jspruance/ebjnqt2r/

をちょうどあなたのJSにいくつかの小さな微調整を行い、あなたが起動して実行する必要があります。

2)ベ​​ースの代わりに表示されるテキストの選択した値にそれぞれのケース() '(x)のスイッチ': 例:ケース「フィン

1)は 'X' 変数であなたのswitch文をベース"

function FCM_niche() { 
    var x = document.getElementById("niche").value; 

    switch(x) { 
     case "fin": 
      document.getElementById("FCM_select_niche").innerHTML = "FFFF"; 
      break; 
     case "intercom": 
      document.getElementById("FCM_select_niche").innerHTML = "IIII"; 
      break; 
     default: 
      document.getElementById("FCM_select_niche").innerHTML =  "DDDD"; 
    } 
}; 

これはトリックを行う必要があります...幸運。

1

あなたのswitch文は無効です。また、あなたがいない値に選択したテキストに対して、スイッチケースをチェックしていること

<p>Niche</p> 
 
     <select name="niche" id="niche" onchange="FCM_niche()"> 
 
      <option value="empty" selected="">Select Niche</option> 
 
      <option value="fin">FIN</option> 
 
      <option value="intercom">Intercom</option> 
 
     </select> 
 

 
    <script type="text/javascript"> 
 
       function FCM_niche() { 
 
        var x = document.getElementById("niche").value; 
 
        switch (x) { 
 
         case "fin": 
 
          document.getElementById("FCM_select_niche").innerHTML = "FFFF"; 
 
          break; 
 
         case "intercom": 
 
          document.getElementById("FCM_select_niche").innerHTML = "IIII"; 
 
          break; 
 
         default: 
 
          document.getElementById("FCM_select_niche").innerHTML = "DDDD"; 
 
         } 
 
       }; 
 
      </script> 
 
<div id="FCM_select_niche">   
 
</div>

+0

* "あなたのswitch文は無効です" * - "無効"とはどういう意味ですか?エラーなく実行される完全に有効なJS構文ですが、OPが期待することはまったく行いません。 – nnnnnn

+0

私は文全体を意味し、構文@nnnnnnについては議論しません –

1
var x = document.getElementById("niche").value; 
switch (x) { 
    case "FIN": 
    document.getElementById("FCM_select_niche").innerHTML = "FFFF"; 
    break; 
    case "Intercom": 
    document.getElementById("FCM_select_niche").innerHTML = "IIII"; 
    break; 
    default: 
    document.getElementById("FCM_select_niche").innerHTML = "DDDD"; 
} 
1

あなたのスイッチケースが

この1が正しいか間違っている

function FCM_niche() { 
        var x = document.getElementById("niche").value; 
        switch (x) { 
         case "fin": 
          document.getElementById("FCM_select_niche").innerHTML = "FFFF"; 
          break; 
         case "intercom": 
          document.getElementById("FCM_select_niche").innerHTML = "IIII"; 
          break; 
         default: document.getElementById("FCM_select_niche").innerHTML = "DDDD"; 
          break; 
         } 
       }; 

あなただけをする必要がスイッチで変数を渡す(YOUR_VAR)

と比較してみましょう。「あなたの文字列」との比較:

また、FIN &フィンは等価ではありません。

関連する問題