2012-06-08 285 views
0

我無法以編程方式觸發onChange事件選擇標記。 http://jsfiddle.net/XqnLE/onchange未觸發

我錯過了什麼嗎?

謝謝。

+1

您需要將JS包含在小提琴中的不同位置(頭部或身體,而不是DOM加載或準備就緒):http://jsfiddle.net/XqnLE/1/ –

+0

:) http:// jsfiddle。淨/ 5Qzpz /看到左面板'不包裝'不''上'' –

+0

你們剛剛讀了我的想法:) – VisioN

回答

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/


它也會,如果你選擇的時候設置no wrap代替onLoad工作JQuery設置。

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