所以,我在这个问题上挣扎了几个小时,谷歌上没有任何关于它的内容,所以我发布的答案仅仅是为了像我这样想要搜索这个的懒人的搜索引擎优化问题,并立即找到解决方案。
如果您正在构建一个书签来为您填写一个大表单,通常当您需要多次更改和测试它,或者构建某种填充表单并提交它的自动化功能测试时,只需更改selectedIndex
使用javascript不会将所选选项传递给Ember,因为你需要实际触发change
事件,所以想象你有这个设置:
<select id='test'>
<option value="1">First Option</option>
<option value="2">Second Option</option>
</select>
并且您想通过javascript选择并选择并提交。
答案 0 :(得分:3)
只做
document.getElementById('test').selectedIndex = 1;
不起作用,您需要这样做:
document.getElementById('test').selectedIndex = 1;
$('#test').trigger('change');
因为Ember在更改事件上获取所选选项的值,当您仅动态设置选项时不会触发该事件。现在这对某些人来说似乎很明显,但可能不适合其他人。