2011-06-03 105 views
2

REWRITE: 我有一個帶有關聯onchange事件的選擇字段。如何觸發輸入字段中的事件隨javascript改變

<select id='customer' onchange='loadRate(this.value)'> 

在我的代碼中的某個位置,我用Javascript爲這個選擇字段賦值。

document.getElementById('customer').value = "Main St Packaging"; 

爲什麼這不會觸發onchange事件?我該如何解決這個問題?現在,我通過明確寫做:

loadRate('Main St Packaging') 

,但我不知道是否有更好的方法。

+0

難道你們就不能只是做一個功能更新所有領域的一次? – 2011-06-03 13:20:39

+0

那麼有很多領域。這基本上是我爲了解決這個問題而做的,但它看起來效率很低。 – BlackSheep 2011-06-03 19:22:31

+0

我不完全確定它是否重複,但接受的答案似乎與您的問題相關:[手動觸發onchange事件](http://stackoverflow.com/questions/2856513/trigger-onchange-event-manually)。 – 2011-06-06 16:42:01

回答

2

嘗試調用「的onchange」法明確:

var el = document.getElementById('customer'); 
el.value = "Main St Packaging"; 
el.onchange(); // Will run "loadRate(this.value)", per your HTML. 
+1

謝謝,JQuery的勝利。我用$(「#customer」)。change(); – BlackSheep 2011-06-28 13:26:09

相關問題