2012-03-29 54 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