You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript select下拉框change事件不生效 代码报错修复

代码错误修正

你的代码存在2个语法/逻辑错误,直接导致运行异常:

  • 模板字符串使用错误:JS中支持${变量}插值的模板字符串必须用**反引号()**包裹,你用了普通单引号,所以浏览器会把整段内容当普通字符串解析,直接输出字面量;同时插值部分event.target.value后缺失闭合的}`,属于语法错误,会被编辑器和浏览器识别为语法异常。
  • 取值逻辑偏差:你当前代码取的是option的value属性值(即1/2/3这类数字),如果要展示用户看到的口味名称文本,需要获取选中option的文本内容。

修正后可直接运行的完整代码:

<label>Elija un sabor de nieve:
    <select class="nieve" name="nieve">
        <option value="">Seleccione Uno …</option>
        <option value="1">Chocolate</option>
        <option value="2">Sardina</option>
        <option value="3">Vainilla</option>
    </select>
</label>

<div class="resultado"></div>
<script>
const selectElement = document.querySelector('.nieve');
selectElement.addEventListener('change', (event) => {
    const resultado = document.querySelector('.resultado');
    // 获取选中项的显示文本,若需要取value值可替换为 event.target.value
    const selectedFlavor = event.target.options[event.target.selectedIndex].textContent;
    // 注意此处使用反引号包裹字符串,插值结构完整闭合
    resultado.textContent = `Te gusta el sabor ${selectedFlavor}`;
});
</script>

补充:如果你需要输出的是选项绑定的value值而非显示的口味名,只需要把插值部分的selectedFlavor替换为event.target.value即可,反引号和${}的完整结构不能改动。

内容的提问来源于stack exchange,提问作者Mari Carmen De Francisco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 18:16:00