我有一个选择框
<select id="myselectBox"> <option value='a'>First option</option> <option value='b'>Second option</option> </select>
和jquery
$('#myselectBox').change(function() { ... });
和WatiN测试
SelectList list = Browser.SelectList(Find.ById("myselectBox")); list.Select("First option");
在IE中,这会更改选择框,但不会触发jquery事件处理程序。我知道IE中的change()事件处理程序的许多问题。所以我试过添加一些事情来测试,以强制事件触发:
list.Blur(); list.Keypress('\r'); list.Click();
我也试图点击选择框外面去除焦点,希望这会触发事件。
有任何想法吗?
解决方法
您可以手动触发事件:
$('#myselectBox').change();
您触发的其他JavaScript事件不会更改该值,因此它们不会触发更改事件。