言語ドロップダウンがあり、languageOptionが文字列になり、配列に入るようなことをする前に1つの言語を選択する必要があることをユーザーに警告しようとします。しかし、それは動作していないと私はなぜ理解していない。私は試した:ドロップダウン選択値が実際の値にならず、JavaScriptで動作しない
alert("You didn't choose any language.");
console.alert("You didn't choose any language.");
console.log("You didn't choose any language.");
しかし、それらはすべて動作しません。
そして私は、私は
<option value="1" selected>English (American)</option>
を作るが、その後値=「1」変数「languageOption」の値になっていませんこの問題を解決する別の方法を、と思いました。したがって、配列は応答せず、コンソールで見るときに何をすべきかわからない。なぜアレイが応答していないのか分かりません。
ありがとうございました。あなたが文書をロードした後のonchange機能を割り当てる必要が
<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>
var audioSrc = "sound/"
var audioType = ".wav";
// default number of random question, if user this used the dropdown
var default_numFollowUp = 4;
// default delai (seconds) between random questions, if user this used the dropdown
var default_secFollowUp = 10;
// Create the audio element
var audioElement = document.createElement('audio');
var endingArr = [];
var runThroughArr = [];
var randomArr = [];
var languageOption = parseInt($("#languageSelection").val());
$("#languageSelection").on("change", function(){
languageOption = $(this).val(); // Make languageOption value be string
//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 === ""){
alert("You didn't choose any language.");
console.alert("You didn't choose any language.");
console.log("You didn't choose any language.");
}
else 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); }
}
}
});
値は 'intro_playlist'ですか? 'intro_playlist is undefined'というコードを試したときに、コンソールメッセージと警告が表示されます。 "2_how_old"、 "delayAfter":6、 "舞台": "イントロ"、 "runThrough":真、 「ランダム –
intro_playlistは、オーディオファイルの束は、そのような "キー" などの異なる特性を有するintro_playList_chiと同じです":偽です。 languageOptionを見ようとすると文字列型です。 – Johnny88520
英語または中国語を選択しようとすると、[Enter]ボタンをクリックすると動作します。何もクリックしなければ、デフォルトの英語にはなりません。私はそれがユーザーの操作を必要とするのだろうか – Johnny88520