2017-09-24 4 views
0

こんにちは、 言語選択のデフォルト値を1に設定して、値を英語にしたいのですが、ユーザーが言語オプションを選択しなかった場合でも、アルゴリズム。しかし、値を選択しないでテストすると、デフォルト値にはなりません。ユーザーがオプションを選択しないと、選択タグでデフォルト値が機能しませんか?

言語オプションのデータ型をチェックすることにしました。これは文字列型ですがif(isNaN(languageOption)){languageOption = "1";}を作成してもまだ動作しません。なぜ誰かが私に言うことができますか?

はあなたの助けあなたが 英語デフォルト値を作成するためにこれらの多くのものをやっているのはなぜ

<body> 
<div> 
    <a href="javascript:location.reload(true)"><img src="image/MindScribe-cursive.png" id="cursive"></a> 
</div> 
<div id="container"> 
    <img src="image/MindScribe-zebra.png" id="ImageEnterVariables" alt="Hello, I'm Stripes"> 
    <img src="image/MindScribe-zebra2.png" id="onlyShowZebraImage" alt="Hello, I'm Stripes" style=display:none> 

    <select id="languageSelection" style=display:none> 
     <option value="">Choose a language</option> 
     <option value="1">English (American)</option> 
     <option value="2">Chinese (Mandarin)</option> 
     <option value="3">Japanese</option> 
    </select> 
<script> 
    var languageOption = parseInt($("#languageSelection").val()); 
    $("#languageSelection").on("change", function(){ 

     if(isNaN(languageOption)){ languageOption = "1";} 
     languageOption = $(this).val(); 

     console.log("langugeOption is " + languageOption); 

     console.log("Language changed to: "+ $(this).find("option").eq($(this)[0].selectedIndex).text() + " (Index: "+languageOption+")"); 

     console.log(typeof(languageOption)); // Outputs string 

     endingArr = []; 
     runThroughArr = []; 
     randomArr = []; 

     if(languageOption === "1"){ 
      console.log("English"); 
      for(i = 0; i < intro_playList.length; i++){ 
       if(intro_playList[i].stage === "ending"){ endingArr.push(i); } 
       if(intro_playList[i].runThrough){ runThroughArr.push(i); } 
       if(intro_playList[i].random){ randomArr.push(i); } 
      } 
     } 
     else if (languageOption === "2"){ 
      console.log("Chinese"); 
      for(i = 0; i < intro_playList_chi.length; i++){ 
       if(intro_playList_chi[i].stage === "ending"){ endingArr.push(i); } 
       if(intro_playList_chi[i].runThrough){ runThroughArr.push(i); } 
       if(intro_playList_chi[i].random){ randomArr.push(i); } 
      } 
     } 

    }); 
</script> 

</body> 

答えて

0

いただきありがとうございますか! アトリビュートをデフォルトにしたいオプションに追加するだけです。

<select id="languageSelection" style=display:none> 
     <option value="">Choose a language</option> 
     <option value="1" selected>English (American)</option> 
     <option value="2">Chinese (Mandarin)</option> 
     <option value="3">Japanese</option> 
</select> 

そして、あなたのスクリプトの中で、あなたは1にデフォルトのオプションを設定するための論理の下に適用することができます。コードの上

languageOption = $(this).val(); 
if(languageOption==""){ 
    languageOption="1"; 
} 

$("#languageSelection").on("change", function(){ 
 

 
     var languageOption = $(this).val(); 
 
\t  if(languageOption.length==0){ 
 
      languageOption=1; 
 
     } 
 
     console.log("langugeOption is " + languageOption); 
 

 
     console.log("Language changed to: "+ $(this).find("option").eq($(this)[0].selectedIndex).text() + " (Index: "+languageOption+")"); 
 

 
     console.log(typeof(languageOption)); // Outputs string 
 

 
     endingArr = []; 
 
     runThroughArr = []; 
 
     randomArr = []; 
 

 
     if(languageOption === "1"){ 
 
      console.log("English"); 
 
      for(i = 0; i < intro_playList.length; i++){ 
 
       if(intro_playList[i].stage === "ending"){ endingArr.push(i); } 
 
       if(intro_playList[i].runThrough){ runThroughArr.push(i); } 
 
       if(intro_playList[i].random){ randomArr.push(i); } 
 
      } 
 
     } 
 
     else if (languageOption === "2"){ 
 
      console.log("Chinese"); 
 
      for(i = 0; i < intro_playList_chi.length; i++){ 
 
       if(intro_playList_chi[i].stage === "ending"){ endingArr.push(i); } 
 
       if(intro_playList_chi[i].runThrough){ runThroughArr.push(i); } 
 
       if(intro_playList_chi[i].random){ randomArr.push(i); } 
 
      } 
 
     } 
 

 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id="languageSelection" > 
 
     <option value="">Choose a language</option> 
 
     <option value="1">English (American)</option> 
 
     <option value="2">Chinese (Mandarin)</option> 
 
     <option value="3">Japanese</option> 
 
    </select>

私の作品、それは私を与える1場合言語を選択が選択されています。

+0

は、返信いただきありがとうございます。私はまだドロップダウンで何をすべきか見てほしいので、最初は「言語を選択する」でしょう。そして、私は試しましたlanguageOption = $(this).val(); if(languageOption === ""){ languageOption = "1"; }。それでも動作していません – Johnny88520

+0

ありがとうございます。しかしそれはまだ私のために働いていない...私はなぜわからない...他の方法はありますか? – Johnny88520

+0

@ Johnny88520あなたが説明したシナリオでは(つまり、言語ドロップダウンの変更時に)うまくいくはずです。ドロップダウンを変更せずにどこか他の場所でドロップダウン値を取得しようとしていますか? –

0

あなたが表示されるように、「言語を選択する」必要がある場合は、(英語と同じ)その値を1に設定します。

<option value="1">Choose a language</option> 
+0

それはスマートです。しかし、まだ私のために働いていない。返信ありがとうございます。他の方法はありますか? – Johnny88520

関連する問題