这个问题已被多次询问,但我见过的所有答案都使用了jQuery,我可以将其用于此项目。我试图在选项元素"其他"已从select元素中的列表中选择。
使用"更改"因为事件似乎不起作用。
document.querySelector("#title").addEventListener("change", (event) => {
if (event.target.textContent === "Other") {
console.log("Other Selected");
}
});

<select id="title" name="movie_title">
<option value="titanic">Titanic</option>
<option value="avatar">Avatar</option>
<option value="other">Other</option>
</select>
&#13;
答案 0 :(得分:0)
您可以使用每次更改选项时触发的onchange
事件:
function myfunction(value) {
console.log("changed to "+value+"!")
}
&#13;
<select onchange="myfunction(this.value)" id="title" name="movie_title">
<option value="titanic">Titanic</option>
<option value="avatar">Avatar</option>
<option value="other">Other</option>
</select>
&#13;
另一个解决方案可能是添加event listener
:
document.getElementById("title").addEventListener("change", (event) => {
// run your code
});
document.getElementById("title").addEventListener("change", (event) => {
console.log("changed to: " + event.target.value + "!");
});
&#13;
<select id="title" name="movie_title">
<option value="titanic">Titanic</option>
<option value="avatar">Avatar</option>
<option value="other">Other</option>
</select>
&#13;
答案 1 :(得分:0)
使用event.target.value
document.getElementById("title").addEventListener("change", (event) => {
console.log(event.target.value);
});
<select id="title" name="movie_title">
<option value="titanic">Titanic</option>
<option value="avatar">Avatar</option>
<option value="other">Other</option>
</select>
答案 2 :(得分:0)
要达到预期的结果,请使用event.target.value,而不是textContent,它将提供所有选项而不是选定的选项
document.querySelector("#title").addEventListener("change", (event) => {
if (event.target.value === "other") {
console.log("Other Selected");
}
});