Como fazer a primeira opção de
https://stackoverflow.com/questions/1414276
Outras dicas
Você pode tentar este
$("#target").prop("selectedIndex", 0);
// remove "selected" from any options that might already be selected
$('#target option[selected="selected"]').each(
function() {
$(this).removeAttr('selected');
}
);
// mark the first option as selected
$("#target option:first").attr('selected','selected');
Quando você usa
$("#target").val($("#target option:first").val());
isto não vai funcionar no Chrome e Safari se o primeiro valor da opção é nulo.
Eu prefiro
$("#target option:first").attr('selected','selected');
porque ele pode trabalhar em todos os navegadores.
A alteração do valor da entrada de seleção ou ajustar o atributo selecionado pode substituir a propriedade selectedOptions padrão do elemento DOM, resultando em um elemento que pode não redefinir corretamente em um formulário que teve o evento de reposição chamado.
método prop Usar jQuery para limpar e definir a opção necessária:
$("#target option:selected").prop("selected", false);
$("#target option:first").prop("selected", "selected");
$("#target")[0].selectedIndex = 0;
Um ponto sutil I pensar eu descobri sobre o topo votou respostas é que mesmo que eles corretamente alterar o valor selecionado, eles não atualizar o elemento que o usuário vê (somente quando clicarem o widget eles vão ver uma seleção ao lado do elemento atualizado).
Encadeamento uma chamada .change () até o fim também vai atualizar o UI Widget bem.
$("#target").val($("#target option:first").val()).change();
(Note que eu notei isso enquanto usando jQuery Mobile e uma caixa no desktop Chrome, por isso pode não ser o caso em todos os lugares).
Se você tem opções com deficiência, você pode adicionar não ([disabled]) para evitar selecionando-o que resulta no seguinte:
$("#target option:not([disabled]):first").attr('selected','selected')
Outra maneira para repor os valores (por vários elementos seleccionados) poderia ser a seguinte:
$("selector").each(function(){
/*Perform any check and validation if needed for each item */
/*Use "this" to handle the element in javascript or "$(this)" to handle the element with jquery */
this.selectedIndex=0;
});
$('#newType option:first').prop('selected', true);
Simples assim:
$('#target option:first').prop('selected', true);
Descobri que apenas attr configuração selecionada não funciona se já existe um atributo selecionado. O código que eu uso agora vai primeiro resetar o atributo selecionado, em seguida, selecione a primeira opção.
$('#target').removeAttr('selected').find('option:first').attr('selected', 'selected');
Aqui está como eu faria isso:
$("#target option")
.removeAttr('selected')
.find(':first') // You can also use .find('[value=MyVal]')
.attr('selected','selected');
Embora a cada função, provavelmente, não é necessário ...
$('select').each(function(){
$(this).find('option:first').prop('selected', 'selected');
});
funciona para mim.
Ele só trabalhou para mim usando um disparador ( 'mudança') no final, como este:
$("#target option:first").attr('selected','selected').trigger('change');
Se você estiver indo para usar a primeira opção como um padrão como
<select>
<option value="">Please select an option below</option>
...
então você pode apenas usar:
$('select').val('');
É agradável e simples.
Na parte de trás da resposta de James Lee Baker, eu prefiro esta solução, pois elimina a dependência de suporte ao navegador para: em primeiro lugar: selecionado ...
$('#target').children().prop('selected', false);
$($('#target').children()[0]).prop('selected', 'selected');
Para mim só funcionou quando eu adicionei o seguinte código:
.change();
Para mim só funcionou quando eu adicionei o seguinte código: Como eu queria "reset" a forma, isto é, selecione todas as primeiras opções de todos os seleciona de forma, eu usei o seguinte código:
$('form').find('select').each(function(){
$(this).val($("select option:first").val());
$(this).change();
});
Use:
$("#selectbox option:first").val()
Por favor, encontrar o simples trabalhando em este jsFiddle.
$("#target").val(null);
Belas trabalhou em cromo
Se você está armazenando o objeto jQuery do elemento select:
var jQuerySelectObject = $("...");
...
jQuerySelectObject.val(jQuerySelectObject.children().eq(0).val());
Marque esta melhor abordagem usando jQuery com ECMAScript 6 :
$('select').each((i, item) => {
var $item = $(item);
$item.val($item.find('option:first').val());
});
Para mim, só funcionou quando eu adicionei a seguinte linha de código
$('#target').val($('#target').find("option:first").val());
Você pode selecionar qualquer opção de dropdown
usando-o.
// 'N' can by any number of option. // e.g., N=1 for first option
$("#DropDownId").val($("#DropDownId option:eq(N-1)").val());
$('select#id').val($('#id option')[index].value)
Substitua o id com particular select id tag e index com particular elemento que você deseja selecionar.
i.
<select class="input-field" multiple="multiple" id="ddlState" name="ddlState">
<option value="AB">AB</option>
<option value="AK">AK</option>
<option value="AL">AL</option>
</select>
Então aqui para primeira seleção elemento vou usar seguinte código:
$('select#ddlState').val($('#ddlState option')[0].value)
Isso funcionou para mim!
$("#target").prop("selectedIndex", 0);
Use:
alert($( "#target option:first" ).text());