Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá a todos,
Não entendo quase nada sobre JavaScript, mas preciso usá-lo em uma função do meu site que é selecionar uma cidade através de um select , e ao selecionar uma cidade o usuário será direcionado à página referente a sua escolha. Observando alguns exemplos na internet, consegui fazer o que precisa:
<select name="cidades" onchange="selecao(this)" id="cidades">
<option value="">Selecione sua cidade</option>
<option value="brasilia.html">Brasilia</option>
<option value="saopaulo.html">São Paulo</option>
<option value="riodejaneiro.html">Rio de Janeiro</option>
</select>
function selecao(cidades){
location= cidades.options[cidades.selectedIndex].value;
}
Porém algumas coisas não saíram como queria, e estou precisando de ajuda para resolver:
Digamos que eu escolha na index do site, a cidade de São Paulo, e na página “saopaulo.html” existe e clico na categoria “poder executivo”, que me direcionará para “executivosp.html” e no topo dessa página terá o select dessa maneira:
<select name="cidades" onchange="selecao(this)" id="cidades">
**<option value="saopaulo.html">São Paulo</option>**
<option value="brasilia.html">Brasilia</option>
<option value="riodejaneiro.html">Rio de Janeiro</option>
</select>
Então nesse caso a primeira “option” passa a ser São Paulo indicando a cidade que estou, e me possibilitando escolher outras cidades sem ter que voltar para index, mas o problema está em que, a primeira option passa a não funcionar, e não consigo retornar à página “sãopaulo.html” através do select. Existe alguma maneira de se resolver esse problema? Obrigado.Bergs, não sabia da definição do onchange, agora sei que realmente não vou conseguir fazer da maneira que queria. Amanhã vou pesquisar alguma maneira de "enfiar" um botão submit junto com o select, será que daria certo daí? Feliz ano novo!
você tem que entender como o evento onchange funciona.
w3cschools: O evento onchange ocorre quando o valor de um elemento foi alterado.
Se você setar em brasília e tentar setá-lo novamente não funcionará também, pois ele passa a ser o option selecionado não havendo alteração do elemento.