【发布时间】:2018-07-11 18:52:52
【问题描述】:
我有一个选择元素
<select id='bill_to'>
<option value='a634jhj2'>test@c.com</option>
<option value='agfd4ghj2'>test2@c.com</option>
<option value='asdf634jhj2'>tes3@c.com</option>
<option value='agf2342d4ghj2'>test4@c.com</option>
</select>
如果我这样做了
$('#bill_to').find(':selected')
它返回第一个选项,即使它没有被选中。
如果选择了一个选项
$('#bill_to').find(':selected')
按预期工作并返回正确的选项
我做错了什么?这是一个错误吗。这真让我抓狂。 如果没有选择任何内容,我只希望它返回 []
【问题讨论】:
-
默认情况下,选择元素中的第一个选项将被选中。阅读this这会对您有所帮助。
-
为什么不使用 $('#bill_to').text() 代替?
-
您可以添加一个像
<option value='0'><option>这样的默认值并检查选择的选项值是 !== 0 还是 !== false -
@Saechel
$('#bill_to').text()的输出将是"" -
但从来没有选择过一个值,这就是他想说的。页面呈现时总是有一个选定的值,除非指定任何其他值,否则它将是第一个值。
标签: javascript jquery html jquery-selectors selected