Jquery版本:1.10.2
GOOGLE CHROME浏览器可正常执行。
IE11和FIREFOX 26出现BUG。
后来的评论让我了解到,我该看文档了!其实该用$.prop("selected",true),谢谢sdhongjun
<select id="id123" name="id123" multiple="multiple">
<option>test 1</option>
<option>test 2</option>
<option>test 3</option>
<option>test 4</option>
</select>
为了向服务器提交多选,需要先选中所有option。然而,进行JQUERY的$("#id123 option").attr("selected",true)时,易出现BUG,特此记录。
BUG重现:手动点击选项(手动点击的目的可能是排序选项等),再进行JQUERY的$("#id123 option").attr("selected",true)时,所有option源码都会设置selected="selected",但是并没有高亮选中状态,此时提交服务器,将只接收高亮选中状态的值。
解决方案:重回JAVASCRIPT
var sel = document.getElementById("id123");
for (var i = 0; i < sel.options.length; i++) {
sel.options[i].selected = true;
}