-1

我有:

<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);

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

4

1 回答 1

2

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

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

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

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

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

演示

于 2012-07-16T09:34:48.047 回答