如何设置HTML选择的默认值?

Sam*_*man 12 html javascript

我有这样的HTML选择:

<select>
    <option>a</option>
    <option>b</option>
    <option>c</option>
</select>
Run Code Online (Sandbox Code Playgroud)

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

var temp = "a";
Run Code Online (Sandbox Code Playgroud)

现在我想将选项的值设置为temp作为我的select的默认值.

我该怎么做?

Séb*_*ien 47

您首先需要为您的select选项添加值,并且为了方便目标,给select自己一个id.

让我们选择b默认选项:

<select id="mySelect">
    <option>a</option>
    <option selected="selected">b</option>
    <option>c</option>
</select>
Run Code Online (Sandbox Code Playgroud)

现在,您可以使用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>
Run Code Online (Sandbox Code Playgroud)

codepen上查看它.

  • +1使用javascript; "接受"的答案使用jQuery. (6认同)
  • +1提供最完整的答案和工作示例! (2认同)
  • 这绝对是正确的答案.但是,codepen有一个错误 - 使用a,它应该有一个; 这个工作虽然http://codepen.io/anon/pen/LEVjvr (2认同)
  • 感谢您指出这一点@ovann86。我更新了 codepen 示例。 (2认同)

Por*_*ner 17

$(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>
Run Code Online (Sandbox Code Playgroud)


小智 7

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

<select>
   <option selected="selected">a</option>
   <option>b</option>
   <option>c</option>
</select>
Run Code Online (Sandbox Code Playgroud)


Nav*_*kar 5

Simplay你可以将HTML select属性放到选项a中,如下所示

定义类似的属性 selected="selected"

<select>
   <option selected="selected">a</option>
   <option>b</option>
   <option>c</option>
</select>
Run Code Online (Sandbox Code Playgroud)