2012-07-16 163 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

相關問題