我正在为我的兄弟写一段有关神奇宝贝的代码,而Pokeball对象并没有告诉我它的价值,也不能告诉我原因。这是代码:
let pokeball = document.getElementById("pokeballType");
let catchRate = document.getElementById('catchRate')
console.log(`the type of pokeball is ${typeof(pokeball)}.`);
if (pokeball.options[pokeball.selectedIndex].value === 'timerBall') {
timerBall.style.display = 'inline';
timerBallLabel.style.display = 'inline';
console.log('Working')
}
<select name = 'pokeball2' id="pokeballType">
<option value=1 selected = 'selected'>Pokeball</option>
<option value=2>Ultra Ball</option>
<option value=1.5>Great Ball</option>
<option value=3.5>Dusk Ball if used inside cave</option>
<option value=4>Quick ball if used on first turn</option>
<option value='timerBall'>Timer Ball</option>
</select>
答案 0 :(得分:1)
您需要一个change
事件,该事件将在de selectbox中更改值时触发。否则,它将仅在启动时运行。
let pokeball = document.getElementById("pokeballType");
pokeball.addEventListener("change", () => {
if (pokeball.value === 'timerBall') {
console.log("timerBall selected...");
}else{
console.log(pokeball.value);
}
});
<select name = 'pokeball2' id="pokeballType">
<option value=1 selected = 'selected'>Pokeball</option>
<option value=2>Ultra Ball</option>
<option value=1.5>Great Ball</option>
<option value=3.5>Dusk Ball if used inside cave</option>
<option value=4>Quick ball if used on first turn</option>
<option value='timerBall'>Timer Ball</option>
</select>
答案 1 :(得分:0)
首先,请确保在解析所有HTML之后以及在script
中进行选择之后,您的select
正在执行。您的代码未显示任何事件处理,因此我们可能会假设您正在尝试进行任何选择之前先获取选定的值。
这是您应该设置的内容,并请注意,仅通过索要value
的{{1}}来获取选定的选项值比获取select
值要容易得多。
selectedIndex