从Select元素返回SelectedIndex

时间:2013-03-28 15:35:21

标签: javascript jquery select selectedindex

如果没有选择任何内容,那么selectedIndex是否有可能返回-1,而不是位置0的元素文本。

即使没有选择任何内容,selectedIndex也会返回0.

<select id="qwe" name="qwe">
    <option>11</option>
    <option>22</option>
</select>   

document.someForm.qwe.value
//returns 11

$('#qwe option:selected').val()
//returns 11



<select id="qwe" name="qwe">
    <option selected="false">11</option>
    <option>22</option>
</select>   
$('#qwe option:selected').val()
//returns 11

<select id="qwe" name="qwe">
    <option selected="false">11</option>
    <option selected="false">22</option>
</select>   
$('#qwe option:selected').val()
//returns 22

4 个答案:

答案 0 :(得分:2)

无需添加默认的第一个选项...只需使用.prop()并更改selectedIndex

$('#qwe').prop('selectedIndex', -1); 

样本: http://jsfiddle.net/dirtyd77/j76yH/2/

如果您有任何疑问,请与我联系!

答案 1 :(得分:-1)

选择框必须始终选择一个值(默认情况下为第一个选项)。如果您想要这样的行为,只需在列表顶部添加一个空选项,无论您想要什么值(例如-1)。

答案 2 :(得分:-1)

这个怎么样?

    <select id="demo">
      <option value="-1">---</option>
      <option value="1">1</option>
      <option value="2">1</option>
    </select>

正如hexblot所说,每个选择框都有一个选定的值。总是..;)

答案 3 :(得分:-1)

尝试使用以下声明:

if ($('#qwe option[selected="selected"]').val() === undefined) return -1;