大块吃肉188
2016-09-10 20:17
通过.val()处理select元素, 当没有选择项被选中,它返回null
根据这个注意事项,应该是个null,为什么在p中是显示慕课网的?我看到有人解释说如果选项都没有设置选中,那就默认第一个,那这样的话不是永远不会返回null了?
<select id="single">
<option>慕课网</option>
<option>博客园</option>
</select>
<select id="multiple" multiple="multiple">
<option selected="selected">imocc</option>
<option>慕课网</option>
<option selected="selected">博客园</option>
</select>
如果没有设置multiple="multiple"这个属性的话,
如
<select id="single">
<option>慕课网</option>
<option>博客园</option>
</select>
此时
<option>慕课网</option>与 <option>博客园</option>都没有设置selected属性 ,
当前值默认是第一个,所以会是 慕课网
当是
<select id="single">
<option>慕课网</option>
<option selected=“selected”>博客园</option>
</select>
时: 取到的是 博客园
也就是说: 没有设置 <select id="multiple" multiple="multiple">中的multiple="multiple" 属性情况下
取到的是 当前值。
如果有设置multiple="multiple"这个属性的话,
如:
<select id="multiple" multiple="multiple">
<option selected="selected">imocc</option>
<option>慕课网</option>
<option selected="selected">博客园</option>
</select>
此时返回的是数组,里边是选中的标签 [<option selected="selected">imocc</option>,<option selected="selected">博客园</option>]
如果 虽然设置了 multiple="multiple"> 属性,但是
<option selected="selected">imocc</option>
<option>慕课网</option>
<option selected="selected">博客园</option>
都没有设置 selected="selected" 选中的话,返回null
的确是默认返回第一个值,当select选项下面没有option的时候,就是返回的null值,不信你可以试试。
jQuery基础 (一)—样式篇
217509 学习 · 1218 问题
相似问题