如何使用jQuery重置select元素

时间:2012-05-08 15:56:12

标签: jquery html

我有

<select id="baba">
<option>select something</option>
<option value="1">something 1</option>
<option value=2">something 2</option>
</select>

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

15 个答案:

答案 0 :(得分:102)

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

点击此处http://jsfiddle.net/bibin_v/R4s3U/

答案 1 :(得分:19)

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

$("#baba").val("");

Demo.

答案 2 :(得分:8)

$('#baba option:first').prop('selected',true);

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

答案 3 :(得分:4)

编辑:老式的方式,

document.getElementById('baba').selectedIndex = 0;

请尝试以下内容,它适用于您的情况,

$('#baba option:first').prop('selected', true);

DEMO

答案 4 :(得分:4)

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

之后添加
.trigger( "change" );

例如。

$("#baba").val("").trigger( "change" );

$("#baba").val(false).trigger( "change" );

$("#baba option").prop("selected", false).trigger( "change" );

$('#baba').prop('selectedIndex',-1).trigger( "change" );

$('#baba option:first').prop('selected',true).trigger( "change" );

答案 5 :(得分:2)

$('#baba option:first').attr('selected',true);

答案 6 :(得分:2)

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

<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>


或者,如果要将所有表单域重置为默认选项:

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

答案 7 :(得分:1)

$('#baba').prop('selectedIndex',-1);

答案 8 :(得分:1)

此功能应适用于所有类型的选择(多个,选择,选择2):

$.fn.Reset_List_To_Default_Value = function()
{
    $.each($(this), function(index, el) {
        var Founded = false;

        $(this).find('option').each(function(i, opt) {
            if(opt.defaultSelected){
                opt.selected = true;
                Founded = true;
            }
        });

        if(!Founded)
        {
            if($(this).attr('multiple'))
            {
                $(this).val([]);
            }
            else
            {
                $(this).val("");
            }
        }
        $(this).trigger('change');
    });
}

要使用它,只需致电:

$('select').Reset_List_To_Default_Value();

答案 9 :(得分:0)

这样做可以解决问题。

$('#baba').val($(this).find('option:first').val());

答案 10 :(得分:0)

我相信:

$("select option:first-child").attr("selected", "selected");

答案 11 :(得分:0)

我发现的最好的JavaScript解决方案是

elm.options[0].selected="selected";

答案 12 :(得分:0)

如果您不想使用第一个选项(以防字段被隐藏或其他东西),那么下面的jQuery代码就足够了:

$(document).ready(function(){
    $('#but').click(function(){
        $('#baba').val(false);
    })
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<select id="baba">
<option>select something</option>
<option value="1">something 1</option>
<option value=2">something 2</option>
</select>
    
    <input type="button" id="but" value="click">

答案 13 :(得分:0)

这与其他答案有点不同,它取消了所有选项:

$("#baba option").prop("selected", false);

(从https://stackoverflow.com/a/11098981/1048376借来)

答案 14 :(得分:-1)

如果要通过 id

重设
$('select[id="baba"]').empty();

如果您想通过名称

重设
$('select[name="baba"]').empty();