Eu pensei que a adição de um "value"
conjunto de atributos no <select>
elemento abaixo faria com que o <option>
conteúdo fornecido "value"
fosse selecionado por padrão:
<select name="hall" id="hall" value="3">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
No entanto, isso não funcionou como eu esperava. Como posso definir qual <option>
elemento é selecionado por padrão?
html
html-select
Jichao
fonte
fonte
Respostas:
Defina
selected="selected"
a opção que você deseja que seja o padrão.fonte
ng-model
substitui o valor selecionado padrão (mesmo que indefinido, se você não definiu o objeto vinculado). Demorei um pouco para descobrir que era por isso que aselected="selected"
opção não foi selecionada.Caso você queira ter um texto padrão como uma espécie de espaço reservado / dica, mas não considerado um valor válido (algo como "complete aqui", "selecione sua nação" ecc.), Você pode fazer algo assim:
fonte
hidden
atributo. Veja a resposta de @ chong-lip-phang abaixo: stackoverflow.com/a/39358987/1192426<option value="" selected disabled hidden>Choose here</option>
Exemplo completo:
fonte
selected="selected"
? Quero dizer, o que você está salvando? Tempo? Tamanho? É insignificante e se torna o código mais "compatível", por que não fazê-lo ?Me deparei com essa pergunta, mas a resposta aceita e altamente votada não funcionou para mim. Acontece que, se você estiver usando o React, a configuração
selected
não funcionará.Em vez disso, você deve definir um valor na
<select>
tag diretamente, como mostrado abaixo:Leia mais sobre o porquê aqui na página React .
fonte
value
atributo da<select>
tag, ou seja<select value="3">
, mas não é válido no validador W3C.$("select").each(function(){ $(this).find('option[value="'+$(this).attr("value")+'"]').prop('selected', true); });
Você pode fazer assim:
Forneça a palavra-chave "selecionada" dentro da tag de opção, que você deseja que apareça por padrão na sua lista suspensa.
Ou você também pode fornecer atributo para a tag de opção, ou seja,
fonte
selected="false"
não é permitido eselected=""
também faz com que seja selecionado. A única maneira de fazer uma opção não selecionada é remover o atributo. w3.org/html/wg/drafts/html/master/…se você quiser usar os valores de um formulário e mantê-lo dinâmico, tente isso com php
fonte
Eu prefiro isso:
'Escolha aqui' desaparece após a seleção de uma opção.
fonte
value=""
para garantir que você obtenha um valor vazio.Uma melhoria para a resposta de nobita . Além disso, você pode melhorar a exibição visual da lista suspensa ocultando o elemento 'Escolha aqui'.
fonte
Melhor maneira na minha opinião:
Por que não desativado?
Quando você usa o atributo desabilitado junto com o
<button type="reset">Reset</button>
valor, não é redefinido para o espaço reservado original. Em vez disso, o navegador escolhe a opção primeiro não desativada, que pode causar erros do usuário.Valor vazio padrão
Cada formulário de produção tem validação, então o valor vazio não deve ser um problema. Dessa forma, podemos ter uma seleção vazia e não obrigatória.
Atributos de sintaxe XHTML
selected="selected"
sintaxe é a única maneira de ser compatível com XHTML e HTML 5. É a sintaxe XML correta e alguns editores podem ficar felizes com isso. É mais compatível com versões anteriores. Não tenho um forte pressentimento sobre isso, mas se os argumentos acima mencionados são seus requisitos, você deve seguir a sintaxe completa.fonte
Outro exemplo; usando JavaScript para definir uma opção selecionada.
(Você pode usar este exemplo para fazer um loop de uma matriz de valores em um componente suspenso)
<select id="yourDropDownElementId"><select/>
fonte
el.selected = "selected";
em conformidade com o padrão w3?selected
é uma propriedade booleana, conforme definida por w3c - w3.org/TR/html401/interact/forms.html `17.6.1 Opções pré-selecionadas selecionadas [CI] - Quando definido, este atributo booleano especifica que esta opção é pré-selected.` Para mais informações sobre as escolas do W3C uso See - w3schools.com/jsref/prop_option_selected.aspO atributo selecionado é um atributo booleano.
Quando presente, especifica que uma opção deve ser pré-selecionada quando a página carregar.
A opção pré-selecionada será exibida primeiro na lista suspensa.
fonte
Se você estiver reagindo, poderá usar
defaultValue
como atributo em vez devalue
na tag select.fonte
Se você estiver usando select com angular 1, precisará usar ng-init, caso contrário, a segunda opção não será selecionada, pois o modelo ng substitui o valor selecionado padrão
fonte
Eu usei essa função php para gerar as opções e inseri-la no meu HTML
E então, no código da minha página da Web, eu o uso como abaixo;
Se $ endmin for criado a partir de uma variável _POST toda vez que a página for carregada (e esse código estiver dentro de um formulário que for postado), o valor selecionado anteriormente será selecionado por padrão.
fonte
O atributo value da tag está ausente, portanto, não é exibido como você deseja selecionado. Por padrão, a primeira opção é exibida no carregamento da página suspensa, se o atributo value estiver definido na tag .... Eu resolvi meu problema dessa maneira
fonte
Este código define o valor padrão para o elemento de seleção HTML com PHP.
fonte
Você pode usar:
ao invés de,
ambos estão igualmente corretos.
fonte
Simplesmente tornaria a primeira opção de seleção o valor padrão e apenas ocultaria esse valor no menu suspenso com o novo recurso "oculto" do HTML5. Como isso:
fonte
Eu mesmo uso
fonte
Você só precisa colocar o atributo "selecionado" em uma opção específica e, em vez disso, direcionar para selecionar o elemento.
Aqui está um snippet para o mesmo e vários exemplos de trabalho com valores diferentes.
fonte
Defina selected = "selected" onde o valor da opção é 3
veja abaixo o exemplo
fonte
O problema
<select>
é que, às vezes, ele é desconectado com o estado do que é renderizado atualmente e, a menos que algo tenha sido alterado na lista de opções, nenhum valor de alteração é retornado. Isso pode ser um problema ao tentar selecionar a primeira opção de uma lista. O código a seguir pode obter a primeira opção selecionada pela primeira vez, masonchange="changeFontSize(this)"
por si próprio não. Existem métodos descritos acima, usando uma opção fictícia para forçar um usuário a fazer um valor de alteração para selecionar o primeiro valor real, como iniciar a lista com um valor vazio. Nota: o onclick chamaria a função duas vezes, o código a seguir não, mas resolve o problema inicial.fonte
Eu uso Angular e defino a opção padrão por
Modelo HTML
Roteiro:
fonte
Foi assim que eu fiz ...
fonte
Você pode tentar assim
fonte
Fragmento HTML:
Snippet JavaScript nativo:
fonte
fonte