只选择一个值

时间:2012-07-16 09:28:22

标签: javascript jquery html

我有:

<select id="number" name="number">
<option value=""></option>
<option value="1">01</option>
<option value="2" selected="selected">02</option>
<option value="3">03</option>
<option value="4" selected="selected">04</option>
<option value="5">05</option>
</select>

然后使用jQuery,例如:

$('#number').val(1);

但是这会添加下一个值 - 1,现在我有:

<select id="number" name="number">
<option value=""></option>
<option value="1" selected="selected">01</option>
<option value="2" selected="selected">02</option>
<option value="3">03</option>
<option value="4" selected="selected">04</option>
<option value="5">05</option>
</select>

我必须使用的是:

$('#number').val(1);

所有其他值都不能被选中?所以我想 - 如果我设置新的val,那么所有其他值都可以重置。也许使用每个重置,但如何? 我知道 - 这应该是multiselect = false,但这不是我的代码 - 我必须使用这个jQuery。

1 个答案:

答案 0 :(得分:2)

您使用的是多重选择吗?因为您添加的HTML表明您不是。如果您没有使用多重选择,那么包含多个selected="selected"的HTML没有任何意义。

如果 使用多项选择,则设置.val() 清除其他选项。 (Demo)。如果在某些奇怪的浏览器中没有,您可以尝试手动重置选择:

$('#number option').prop('selected', false).val(1);

如果清除当前选择你想要什么,那么你应该考虑手动设置selected属性,而不是使用.val()

$('#number option[value=1]').prop('selected', true);

Demo