我有这段代码:
<select>
<option onChange="filterProducts(this);">Select ...</option>
<option onChange="filterProducts(this);">Samsung</option>
<option onChange="filterProducts(this);">LG</option>
<option onChange="filterProducts(this);">Sony</option>
<option onChange="filterProducts(this);">Philips</option>
</select>
哪个应该触发一个js方法,但它根本不会触发:
function filterProducts(firedByControl){
alert(fired);
}
对于这个按钮,调用相同的js方法,一切都很好:
<button type="button" class="btn" onclick="filterProducts(this)" value="LCD">LCD</button>
你能告诉我我哪里错了吗?
答案 0 :(得分:3)
您需要对元素进行onchange调用。
<select onChange="filterProducts(...);">
<option>Select ...</option>
<option>Samsung</option>
<option>LG</option>
<option>Sony</option>
<option>Philips</option>
</select>
答案 1 :(得分:1)
将onchange
移至下面的选择
<select onchange="filterProducts">
答案 2 :(得分:1)
我认为onchange
应该是<select>
元素的属性,而不是每个<option>
的属性。
答案 3 :(得分:1)
改为<select onchange="filterProducts(this);">
答案 4 :(得分:1)
您需要将onchange属性放在select
上,而不是放在option
上。
顺便说一句,您应该使用JQuery做类似的事情:
$("select").onChange(filterProducts);