我有一个select选项标签,我想在同一个标签中放两个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>
答案 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