Se você alterar uma lista suspensa e atualizar a página, o Firefox parece ignorar o atributo selecionado.
<option selected="selected" value="Test">Test</option>
Na verdade, ele selecionará a opção que você selecionou anteriormente (antes da atualização). Isso acaba sendo um problema para mim, pois há um evento disparado no menu suspenso que muda outras coisas. Existe uma maneira de fazer o firefox interromper esse comportamento (diferente de disparar outro evento quando a página for carregada)?
firefox
drop-down-menu
refresh
chave de macaco
fonte
fonte
$('option:selected').each(function(){ $(this).prop('selected',true); });
Respostas:
AFAIK, esse comportamento está embutido no Firefox.
Você pode tentar definir cada elemento do formulário para o seu
defaultValue
carregamento na página.fonte
$(":input").val(this[0].defaultValue);
(não testado); em JS normal, caminhe por cada umdocument.getElementsByTagname("select")
Adicione o
autocomplete="off"
atributo HTML a cada marca selecionada. (fonte: https://stackoverflow.com/a/8258154/260080 )Isso corrige o comportamento ODD no FireFox.
fonte
No firefox, notei que o atributo "selected" não funcionará a menos que você coloque o select dentro de um formulário, onde o formulário tem um atributo de nome.
fonte
Acabei de ter o mesmo problema, acredite, já se passaram mais de 10 horas lutando com esse comportamento estúpido do firefox, tenho 7 menus suspensos, cada um deles irá disparar um evento e preencher 24 entradas ocultas, então você pode imaginar ter a opção certa selecionada com 24 valores de entrada errados !!! a solução que finalmente encontrei é redefinir o formulário com Javascript adicionando esta linha de código:
PS: as entradas têm os valores extraídos de um banco de dados, então redefinir o formulário não esvazia nenhum valor, mas de certa forma diz ao firefox para voltar e voltar para a opção selected = selected!
fonte
É apenas o Firefox lembrando da sua seleção anterior ao atualizar. Em vez disso, tente uma atualização completa.
Além disso, o mesmo problema aqui: https://stackoverflow.com/a/1505693/1069232
Veja também aqui: https://bugzilla.mozilla.org/show_bug.cgi?id=274795
fonte
Tente desativar o
autocomplete
atributo de seleção de entrada ... às vezes o navegador ignoraselect
por causa dissofonte
Estou usando FF 25.0.1
Ignore
selected=""
eselected="selected"
.Mas se eu simplesmente tentar,
selected
a opção está selecionada.Comportamento estranho (não conforme). Eu sei que
selected
é HTML5 válido e é a forma mais curta, mas normalmente escrevo código que também valida XML bem formado, para que eu possa usar qualquer ferramenta de validação XML para verificar meus resultados de uma forma muito estrita (e a troca de dados é muito fácil. .)De acordo com o W3C, essas variantes devem ser válidas em atributos booleanos:
Eu prefiro o primeiro, pois é quase tão curto quanto a última variante (não compatível com xml), mas deve ser validado como XHTML5 E HTML5. Portanto, espero que a Mozilla conserte isso!
fonte
use .prop () em vez de .attr ()
fonte
.prop('selected', true);
ou.prop('selected', false);
(jQuery) para ativar / desativar funciona tanto para Firefox quanto para Chrome.Você pode chamar
.reset()
o formulário antes de atualizar a página.fonte
inclua select no atributo form e ele funcionará.
e
fonte
Com o nome fica melhor = >>
A seleção irá pegar o atributo selecionado
fonte
Talvez seja um bug no Mozilla, mas tente dar um nome ao menu suspenso.
fonte
o preenchimento automático também não estava funcionando para mim.
Esta é a correção javscript escrita em jquery que eu uso:
fonte
Nesse caso, isso funcionou tanto para o Chrome quanto para o Firefox.
Eu estava usando em
.attr()
vez de.prop()
fonte
Para mostrar o primeiro item da lista suspensa, use
ProjectName.ClearSelection();
Coloque linhas em sua página de design para funcionar em todos os navegadores E também coloque isso no code-behind no carregamento da página.
fonte
Se você alterar o select e atualizar a página, o firefox irá restaurar suas alterações no formulário, é por isso que você sente que o select não está funcionando. Em vez de atualizar, tente abrir o link em uma nova guia.
fonte
Esta é a minha solução:
Acabei de colocar isso no topo da página (com o conjunto de id apropriado) e funciona para mim. Substituindo getElementById por um loop sobre todas as seleções na página, deixo como um exercício para o leitor;).
fonte
Para mim, nenhuma das soluções acima funcionou. Tive que definir explicitamente a seleção se nenhuma foi definida:
Eu gostaria que o Firefox corrigisse isso :(
fonte
No trabalho, acabei de consertar um bug em que a opção da caixa de seleção era exibida corretamente no Chrome, mas não no Firefox, na mesma página da web. Acabou sendo algo completamente diferente dos problemas acima, mas pode ser um problema que você está enfrentando.
No Chrome, a cor da fonte da caixa de seleção era preta. Por algum motivo no Firefox, a caixa de seleção herdou a cor da fonte do contêiner, que era branco. Depois de adicionar uma regra CSS para forçar a cor da fonte da caixa de seleção a ser preta, o valor definido foi exibido corretamente.
fonte
Nem
autocomplete="off"
colocá-lo dentro de umaform
funciona para mim.O que funcionou foi usar apenas o atributo selecionado sem nenhum "valor" como este:
então ele renderiza
<option selected>...</option>
, ou apenas<option>...</option>
fonte