如何更改 select 标签的 selected 值

How to change selected value of a select tag

我有一个 select 标签 (#dd01),我想通过点击按钮来更改它的值

<select id="dd01">
<option value="01">sky</option>
<option value="02">sea</option>
<option value="03">earth</option>
<option value="04">win</option>
</select>

js.click

var dd = $("#dd01").children().eq(index01).html();
alert (dd);  // works fine - for example `sky`
$("#dd01").val(dd);  // doesn't work - select tag is empty

您正在从选项中获取文本,并尝试将其用作值。

选项 sky 的值为 01,因此调用 .val('01') 会 select 该项目,但不会调用 .val('sky')

可以使用attr方法获取选项的值:

var dd = $("#dd01").children().eq(index01).attr('value');

试试这个:

var dd = $("#dd01").children().eq(index01).val();
alert (dd);  // works fine - for example `sky`
$("#dd01").val(dd);

$("#dd01") 必须有一个 ,而不是文本。所以我用 eq(index01).val() 而不是 eq(index01).text().

Here is a working fiddle