如果没有选择任何内容,那么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
答案 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;