如何把 2 onchange=“ ” “ 放入<选择>

How to put 2 onchange=" " in <select>

本文关键字:选择 放入 onchange      更新时间:2023-09-26

我有一个选择选项标签,我想在同一个标签中放置两个onchange=",但是当我选择一个选项时,它仅适用于:onChange="window.location.href=this.value" --> 在网址上显示选定的选项

但它不适用于:onchange="sortResult(this.value)"。

如果不允许这样做,那么我该如何实现呢?

<select name="sortby" class="form-control" id="city" onChange="window.location.href=this.value" onchange="sortResult(this.value)">
 <option>1</option>
 <option>2</option>
 ...
</select>

只需使用分号将其分隔:

onChange="window.location.href=this.value; sortResult(this.value)"

所以你的HTML将读作:

<select name="sortby" class="form-control" id="city" onChange="window.location.href=this.value; sortResult(this.value)">
 <option>1</option>
 <option>2</option>
 ...
</select>

如果您希望操作 URL 中主题标签 # 之后的部分,请使用 location.hash=this.value 而不是 location.href

最好避免事件处理程序内容属性,并使用 addEventListener 添加事件处理程序:

document.getElementById('city').addEventListener('change', function() {
    window.location.href = this.value;
    sortResult(this.value);
});

但是,如果更改window.location.href,则将卸载页面,因此可能不会调用sortResult