如何使用 jQuery 重置选择元素

是的

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

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

226195 次浏览
$('#baba option:first').attr('selected',true);

在您的情况下(在我所见过的大多数用例中) ,您所需要的全部内容是:

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

演示。

这种方法可以解决这个问题,并且适用于任何选择。

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

我相信:

$("select option:first-child").attr("selected", "selected");
$('#baba option:first').prop('selected',true);

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

试试这个,会有用的 $('#baba').prop('selectedIndex',0);

检查这里 http://jsfiddle.net/bibin_v/R4s3U/

编辑: 老式的方式,

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

试试下面这个,应该对你的案子有用,

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

演示

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

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

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

我找到的最好的 javascript 解决方案是这样的

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

如果您不想使用第一个选项(以防字段被隐藏或其他情况) ,那么以下 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">

这种方法与其他方法的工作原理略有不同,因为它取消了所有选项:

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

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

这个函数应该适用于所有类型的 select (多个、 select、 select2) :

$.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();

如果没有一个解决方案对你不起作用,试着在后面添加

.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" );

$(’# DropList 选项: first’) . prop (‘ select’,true) . touch (“ change”) ; 这对我有用