2012-07-16 206 views
-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); 

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

回答

2

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

如果你有多个选择的工作,然后设置.val()应该清除其他选择。 (Demo)。如果在一些奇怪的浏览器,它是不是,你可以尝试手动复位选择:

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

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

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

Demo

相关问题