jQuery $('select-element').val() 不可靠?

jQuery $('select-element').val() not reliable?

我正在使用 <select /> 元素,我必须确定所选选项的值。我已经使用 jQuery 一段时间了,我以为我以前知道该怎么做,但是当 没有选择 选项时,我遇到了意想不到的结果。这是 JSFiddle,希望能够说明我的困难(只要选择 first/guiding 选项)。

我尝试了以下方法:

$(this).val();
$(this).find('option:selected').val();
$(this).find(':selected').val();

这一行(下)实际上排斥了 jQuery 无价的 .val() 功能,但似乎可靠地提供了我正在寻找的东西:

$(this).find('option:selected').attr('value')

是否有可靠的方法来确定用户是否选择了实物期权?!

注:我很喜欢jQuery的.val()功能,所以最后做了这个:

$(this).find('option:selected[value]').val()

您是否尝试添加空 value 属性?

<option value="">Select an item</option>

在这种情况下,您可以检查值是否不为空,这意味着用户没有选择实际选项。

jsFiddle