我一直在擺弄這個代碼整天,但我似乎無法得到它的工作,我想知道你是否有人可以告訴我什麼問題是?onchange與選擇,選項和音頻
我有一個選擇2選項,音頻應根據所選的選項而改變。選擇正顯示出它應該有兩個選項可用,但音頻沒有顯示,所以我認爲問題出在下面一行:
audioFiles.options[audioFiles.selectedIndex].id == "English"
<div>
<i>Audio:</i>
<select id="audioFiles" onchange="toggle()">
<option id="English" value="audio/english.mp3">
English
</option>
<option id="German" value="audio/german.mp3">
Deutch
</option>
</select>
<audio controls id="audioPlayer">
<source id="mp3" type="audio/mpeg">
<source id="ogg" type="audio/ogg">
<source id="wav" type="audio/wav">
<embed id="embedded" height="50" width="100">
</audio>
</div>
function toggle()
{
var audioFiles = document.getElementById("audioFiles");
var mp3 = document.getElementById("mp3");
var ogg = document.getElementById("ogg");
var wav = document.getElementById("wav");
var embedded = document.getElementById("embedded");
if (audioFiles.options[audioFiles.selectedIndex].id == "English") {
var audioPath = document.getElementById("English");
mp3.src = audioPath.value;
ogg.src = audioPath.value;
wav.src = audioPath.value;
embedded.src = audioPath.value;
}
else if(audioFiles.options[audioFiles.selectedIndex].id == "German")
{
var audioPath = document.getElementById("German");
mp3.src = audioPath.value;
ogg.src = audioPath.value;
wav.src = audioPath.value;
embedded.src = audioPath.value;
}
}
是任何你能看到我做錯了什麼?我沒有使用jQuery,文件的路徑是他們應該的。
如果您不知道,可以使用'audioFiles.value'來檢索所選'
我知道audioFiles.value,但我的價值觀是我的道路,他們可能會改變。我剛剛輸入了一些數據來向你展示可能存在的內容。所以我需要這個選項的ID不會改變,因爲以後也可能會增加更多的選項。你是正確的初始化如此即時修復。 – Ghost
['audioFiles.value'](https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement)總是指向**選擇**''的值,無論_when_該選項被添加,_選項被選中時。 –
Passerby