价值如何影响val()?

时间:2011-11-17 21:25:54

标签: jquery

我可以使用jQuery的select函数在html val()项中设置所选项。 For example

<select id="selector">
    <option></option>
    <option>Care Bears</option>
    <option>Yo Gabba Gabba</option>
</select>

<input id="selectButton" type="button" value="Care Bears" />

$('#selectButton').click(function() {
    $('#selector').val('Care Bears');//change the selected value to care bears
});

但是,如果我稍微modify代码,

<option value="">Care Bears</option>

val()休息。这是为什么?

3 个答案:

答案 0 :(得分:2)

因为<option/>属性中不再有"Care Bears"value匹配。

如果没有另外指定,HTML会将value标记的<option/>属性默认为内容。

这实际上是Javascript规范的一部分,如下面的评论中所述。

<强> Example to show vanilla javascript functionality

答案 1 :(得分:1)

<option value="value">not important text</option>
when you set a value this option's value is setted.
if you dont set, its not important text will be its value

becouse

<option>Care Bears</option>
equal
<option value="Care Bears">Care Bears</option>

答案 2 :(得分:0)

实际上它没有中断,因为它会检查Care Bears的值。目前该值为空。

<option value="">Care Bears</option>

现在它在列表中查找空值并选择该项。

这就是它选择清空值的原因。

正如jondavid和utku所说,

两者相等

<option>Care Bears</option>

<option value="Care Bears">Care Bears</option>