我有
<select id="baba">
<option>select something</option>
<option value="1">something 1</option>
<option value=2">something 2</option>
</select>
使用 jQuery,重置select
第一个选项的最简单(少写)方法是什么?
试试这个。这将起作用。$('#baba').prop('selectedIndex',0);
$('#baba option:first').prop('selected',true);
现在你最好使用.prop():http ://api.jquery.com/prop/
$('#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>
如果这些解决方案都不适合您,请尝试在之后添加
.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" );
编辑:老式的方式,
document.getElementById('baba').selectedIndex = 0;
在下面尝试,它应该适用于您的情况,
$('#baba option:first').prop('selected', true);
$('#baba option:first').attr('selected',true);
这可以解决问题,适用于任何选择。
$('#baba').val($(this).find('option:first').val());
我发现的最好的 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">
这个函数应该适用于所有类型的选择(multiple、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();
我相信:
$("select option:first-child").attr("selected", "selected");
这与其他答案略有不同,因为它取消选择所有选项:
$("#baba option").prop("selected", false);