为什么我的选择onchange不起作用?

时间:2012-10-10 15:00:10

标签: javascript jquery

我有这段代码:

            <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>

你能告诉我我哪里错了吗?

5 个答案:

答案 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);