2012-03-29 37 views
0

如何更改使用jQuery的選擇選項?如何更改與jQuery的選擇

就像人們點擊一張圖片一樣,它應該將「總數」從10(當前值)改爲25美元。

我嘗試使用

$("#buy").click(function() { 
    $("#total").val(25); 
    $("#total").focus(); 
}); 

但它改變了從10到25的數值,但文字不顯示爲$ 25。

所以,我有以下

<select name = "total"> 
<option value = "10">$10 dollars</option> 
<option value = "25">$25 dollars</option> 

當我點擊圖片,從10到20個「總」的變化,但值的文本仍顯示爲「$ 10美元。」

+1

'name'!='id'。達夫的回答是正確的。 – MetalFrog 2012-03-29 16:53:52

回答

2
$('select[name="total"] option[value="25"]').attr("selected", "selected") 
+0

如果已經選擇了另一個選項,會發生什麼情況?現在你會有兩個,對吧?可能導致意想不到的結果。 – MetalFrog 2012-03-29 16:58:30

+0

瀏覽器可能正確處理它,但你是對的。如果使用這種方法,你可能希望事先清除所有'selected'屬性。我隱約記得在老版本的jQuery中使用'val()'時會遇到問題。 (like,1.2)看起來現在工作得很健全,所以這個方法可能只對老版本的jQuery有用。 – 2012-03-29 20:24:31

3

您正在選擇一個ID,但沒有任何具有該ID的元素。更改

$("#total").val(25); 

$('[name="total"]').val(25); 

,它會工作得很好。 Here是它的小提琴。

+0

我嘗試過,但仍然是同樣的事情。選擇框的值發生變化,但該選項的文本仍然保持在$ 10美元 – Jasmine 2012-03-29 17:42:26

+0

您看過JsFiddle嗎?它對我來說工作得很好。 – Daff 2012-03-29 18:35:02