如何使用jQuery重置select元素

Ita*_*vka 40 html jquery

我有

<select id="baba">
<option>select something</option>
<option value="1">something 1</option>
<option value=2">something 2</option>
</select>
Run Code Online (Sandbox Code Playgroud)

使用jQuery,什么是最简单的(少写)重置方式,select所以第一个选项被选中?

Bib*_*han 120

试试这个.这会奏效.$('#baba').prop('selectedIndex',0);

点击这里http://jsfiddle.net/bibin_v/R4s3U/

  • 这不会触发 `change` 事件 (3认同)

kar*_*m79 18

在您的情况下(在我见过的大多数用例中),您只需要:

$("#baba").val("");
Run Code Online (Sandbox Code Playgroud)

演示.

  • 如果select元素没有`value =""`的选项,那么将在较新版本的jquery中创建一个 (5认同)
  • 投票反对。这不适用于较新版本的 jquery,并且会产生创建新选项的不良副作用,如果升级,则必须修复此问题。 (3认同)

Rok*_*jan 9

$('#baba option:first').prop('selected',true);
Run Code Online (Sandbox Code Playgroud)

现在你最好使用.prop():http://api.jquery.com/prop/


小智 7

$('#baba').prop('selectedIndex',-1);
Run Code Online (Sandbox Code Playgroud)

  • 这应该是公认的答案,因为它还涵盖了“&lt;select multiple&gt;” (5认同)

Sjo*_*ers 6

将单个选择字段重置为默认选项。

<select id="name">
    <option>select something</option>
    <option value="1" >something 1</option>
    <option value="2" selected="selected" >Default option</option>
</select>
<script>
    $('name').val( $('name').find("option[selected]").val() );
</script>
Run Code Online (Sandbox Code Playgroud)


或者,如果您想将所有表单字段重置为默认选项:

<script>
    $('select').each( function() {
        $(this).val( $(this).find("option[selected]").val() );
    });
</script>
Run Code Online (Sandbox Code Playgroud)


Moo*_*man 6

如果这些解决方案都不适合您,请尝试添加

.trigger( "change" );
Run Code Online (Sandbox Code Playgroud)

前任。

$("#baba").val("").trigger( "change" );
Run Code Online (Sandbox Code Playgroud)

或者

$("#baba").val(false).trigger( "change" );
Run Code Online (Sandbox Code Playgroud)

或者

$("#baba option").prop("selected", false).trigger( "change" );
Run Code Online (Sandbox Code Playgroud)

或者

$('#baba').prop('selectedIndex',-1).trigger( "change" );
Run Code Online (Sandbox Code Playgroud)

或者

$('#baba option:first').prop('selected',true).trigger( "change" );
Run Code Online (Sandbox Code Playgroud)