如何在<select> </select>中放置2 onchange =“”

时间:2015-01-29 17:09:00

标签: javascript

我有一个select选项标签,我想在同一个标​​签中放两个onchange =“”,但是当我选择一个选项时,它只适用于:onChange =“window.location.href = this.value” - - &GT;在网址上显示所选选项

但它不起作用: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>

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

只需使用分号分隔它:

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>

如果您希望操作位于#标签后面的网址部分,请使用location.hash=this.value代替location.href