onchange未被触发

时间:2012-06-08 09:31:09

标签: jquery

我无法以编程方式触发select标记的onChange事件。 http://jsfiddle.net/XqnLE/

我错过了什么吗?

感谢。

1 个答案:

答案 0 :(得分:2)

您的TestIt函数超出了范围,因为在JavaScript窗口中的JSFiddle代码通常被配置为在DOM就绪处理程序内。

如果将它放在全局范围内,它将正常工作:

<script>
    function TestIt() {
        $("#tt").trigger("change");
    }
</script>

<select id="tt" onchange="alert('onchange triggered!!')">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>

<input type="button" value="trigger" onclick="TestIt();"/>

DEMO: http://jsfiddle.net/XqnLE/2/


如果在选择JQuery设置时设置no wrap而不是onLoad,它也会有用。

DEMO: http://jsfiddle.net/XqnLE/5/