Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou querendo abrir o abrirVit() e o abrirVelha() quando a opção do select é apertada.
<select>
<option href='javascript:;' onchange="abrirVit();" value="canto">Vitória - Praia do Canto</option>
<option href='javascript:;' onchange="abrirVelha();" value="velha">Vila Velha</option>
</select>
<script type="text/javascript">
$(function(){
function abrirVit(){
$("#backForm").css("display","block").stop().animate({"opacity":"1"},200);
setTimeout(function(){
$("#formContact").css("display","block").stop().animate({"opacity":"1"},200);
},150);
};
</script>
<script type="text/javascript">
$(function(){
function abrirVelha(){
$("#backForm").css("display","block").stop().animate({"opacity":"1"},200);
setTimeout(function(){
$("#formContact").css("display","block").stop().animate({"opacity":"1"},200);
},150);
};
</script>>
você tem que usar o evento onchange, e ai testar o value dentro da função.
<select onchange="abrir(this.value);">
<option value="canto">Vitória - Praia do Canto</option>
<option value="velha">Vila Velha</option>
</select>
<script type="text/javascript">
function abrir(value){
if (value == 'canto') {
// faz uma coisa
} else {
//faz outra coisa
}
</script>
OLá William,
é... eu quero que se o valor for canto ele faça isso:
$("#backForm").css("display","block").stop().animate({"opacity":"1"},200);
setTimeout(function(){
$("#formContact").css("display","block").stop().animate({"opacity":"1"},200);
},150);
};
Então fiz desse jeito porem não funcionou:
<select onchange="abrir(this.value);">
<option value="canto">Vitória - Praia do Canto</option>
<option value="velha">Vila Velha</option>
</select>
<script type="text/javascript">
function abrir(value){
if (value == 'canto') {
$("#backForm").css("display","block").stop().animate({"opacity":"1"},200);
setTimeout(function(){
$("#formContact").css("display","block").stop().animate({"opacity":"1"},200);
},150); }
else {
//faz outra coisa
}
</script>
@edit:
No console aparece: caught ReferenceError: abrir is not defined
esse erro é como se você não tivesse declarado a função.
Como o evento precisa de uma ação do usuário, o teu select precisa mudar de valor.
<select onchange="abrir(this.value);">
<option value="canto">Vitória - Praia do Canto</option>
<option value="velha">Vila Velha</option>
</select>
<script type="text/javascript">
function abrir(value){
if (value == 'canto') {
$("#backForm").css("display","block").stop().animate({"opacity":"1"},200);
setTimeout(function(){
$("#formContact").css("display","block").stop().animate({"opacity":"1"},200);
},150); }
else {
//faz outra coisa
}
abrir('canto'); //para executar quando carregar a página.
</script>
mesmo colocando não deu certo, aparece a mesma coisa.
abrir('canto'); //para executar quando carregar a página.
então verifique se você está declarando corretamente a tag script para este arquivo.
Então eu fiz uma coisa aqui que axo que daria certo,
<select id="opcoes">
<option value="selecione">Selecione uma unidade</option>
<option value="canto">Vitória - Praia do Canto</option>
<option value="velha">Vila Velha</option>
</select>
$('#opcoes').on('change', mudou);
function mudou() {
if ($('#opcoes').val() == 'canto'){
console.log('resultado canto');
}
else if ($('#opcoes').val() == 'velha'){
console.log('resultado velha');
}
}
@edit
Agora deu certo
você tem que usar o evento onchange, e ai testar o value dentro da função.