本文教你使用原生 javascript 监听多个 “ 元素的 `change` 事件,从选中项的 `data-*` 属性中提取两个自定义参数,并拼接 url 实现无按钮自动跳转。代码简洁、语义清晰,适合初学者理解事件委托与数据属性的实践应用。
在 Web 表单交互中,常需在用户选择下拉选项后立即响应——例如跳转页面并携带参数。与按钮点击不同,下拉框()应监听 change 事件(而非 click),因为 change 在选项真正变更且失去焦点时触发,语义更准确、兼容性更好,且能避免重复触发。
关键在于:不能将参数写在 val1/val2 这类非标准属性中(HTML 规范不支持,JS 无法直接读取)。正确做法是使用语义化、可扩展的 data-* 自定义属性,如 data-val1 和 data-val2。这些属性可通过元素的 .dataset 对象安全访问,无需解析 HTML 或正则匹配。