为了账号安全,请及时绑定邮箱和手机立即绑定

$("p").text( $("#single").val() );这一句返回的不应该是null么

通过.val()处理select元素, 当没有选择项被选中,它返回null

根据这个注意事项,应该是个null,为什么在p中是显示慕课网的?我看到有人解释说如果选项都没有设置选中,那就默认第一个,那这样的话不是永远不会返回null了?

正在回答

3 回答

<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


1 回复 有任何疑惑可以回复我~
#1

地精修补匠

感谢,很有用
2016-12-16 回复 有任何疑惑可以回复我~

的确是默认返回第一个值,当select选项下面没有option的时候,就是返回的null值,不信你可以试试。

0 回复 有任何疑惑可以回复我~
#1

大块吃肉188 提问者

确实是null了,非常感谢
2016-09-11 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

$("p").text( $("#single").val() );这一句返回的不应该是null么

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信