26

我有一个这样的 HTML 选择:

<select>
    <option>a</option>
    <option>b</option>
    <option>c</option>
</select>

我有一个temp在我的 JavaScript 中命名的变量:

var temp = "a";

现在我想将等于 temp 的选项的值设置为我的选择的默认值。

我该怎么做?

4

6 回答 6

66

您首先需要为您的select选项添加值,并且为了便于定位,给它select自己一个id.

让我们将选项设为b默认值:

<select id="mySelect">
    <option>a</option>
    <option selected="selected">b</option>
    <option>c</option>
</select>

现在您可以使用 JavaScript 更改默认选择值,如下所示:

<script>
var temp = "a";
var mySelect = document.getElementById('mySelect');

for(var i, j = 0; i = mySelect.options[j]; j++) {
    if(i.value == temp) {
        mySelect.selectedIndex = j;
        break;
    }
}
</script>

我们也可以使用 i 的“文本”属性来验证:

如果(i.text == 温度)

在codepen上查看它的实际效果。

于 2013-10-26T20:31:01.597 回答
28

注意:这是 JQuery。参见 Sébastien 对 Javascript 的回答

$(function() {
    var temp="a"; 
    $("#MySelect").val(temp);
});

<select name="MySelect" id="MySelect">
    <option value="a">a</option>
    <option value="b">b</option>
    <option value="c">c</option>
</select>
于 2013-10-26T20:31:07.827 回答
7

您应该定义optionlike selected="selected"的属性

<select>
   <option selected="selected">a</option>
   <option>b</option>
   <option>c</option>
</select>
于 2013-10-26T21:02:04.257 回答
5

Simplay 您可以将 HTML选择属性放置到选项a中,如下所示

定义属性如selected="selected"

<select>
   <option selected="selected">a</option>
   <option>b</option>
   <option>c</option>
</select>
于 2013-10-26T20:31:31.537 回答
2

您可以在 Ex a 中定义属性 selected="selected"

于 2013-10-26T20:42:01.113 回答
0

你可以用...

<option <?= ($temp == $value) ? "SELECTED" : "" ?> >$value</opton>

编辑:我以为我在看 PHP 问题......对不起。

于 2013-10-26T20:34:31.413 回答