Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Como fazer em javascript para que, por exemplo, só apareça o preço do produto quando selecionado a cor e o tamanho?
Usei o script a baixo para que, ao selecionar o produto, apareça sua descrição e preço. Mas agora preciso que só apareça a descrição e o preço quando selecionado o produto a cor e o tamanho, no caso de cada tamanho tiver um preço diferente.
<script>
function detalhes(descricao1,preco1, Valor){
Valor = document.getElementById("produto").value;
if (Valor=="classe")
{
document.getElementById(descricao1).value = "Montanha";
document.getElementById(preco1).value = "R$ 5,00";
}
else
{
document.getElementById(descricao1).value = "";
document.getElementById(preco1).value = "";
}
}
</script>
<input type="text" name="pesctx" id="descricao" value="" size="70%" maxlength="50"><p>
<input type="text" name="precotx" value="" id="preco" size="10" maxlength="10">
<select name="produtos" id="produto" onChange="detalhes('descricao','preco','classe');">
<option value="---" selected="selected">---</option>
<option value="classe">Total</option>
<option value="onda">mediana</option>
</select>
<select name="Produto">
<option value="---" selected="selected">---</option>
<option value="cinza">Cinza</option>
<option value="Vermelho">Vermelho</option>
<option value="Violeta">Violeta</option>
</select><p>
<label>Tamanho:</label>
<select name="Produto">
<option value="---" selected="selected">---</option>
<option value="Pequena">Pequena</option>
<option value="Media">Media</option>
<option value="Grande">Grande</option>
</select>>
Palagar,
Nesse caso você não respondeu a própria dúvida? Sé é um evento onchange, então a exibição do valor só deve acontecer depois da mudança de todos os inputs que você incluir na sua lógica.
Ou você pode adicionar a condição selected aos elementos cor e tamanho e após isso exibir o valor.
Exemplo:
if ( this.selected ) {
// Ação
}
EDITADO: Agora eu vi que você criou dois tópicos e resolveu o problema. Peça a algum moderador que elimine um dos tópicos.
Henrique, este tópico não é o mesmo do outro. no outro eu queria que ao selecionar a option o onchange mudasse duas imputs. Agora quero fazer ao contrario selecionar duas opções para fazer a mudança.
como seria para eu usar este if (this.selected)?
como eu iria inserir as ações?
document.getElementById(?)
Palagar, vc pode criar uma funcao que seja invocada no onchange | onblur de cada campo. Na função vc verifica se os campos que quer estão preenchidos, dái ele exibe o valor do produto, tipo em um div...
Algo assim:
<script>
function verificaCamposPreenchidos(){
var cor = document.getElementById("cor").value;
var tamanho = document.getElementById("tamanho").value;
if(cor != "" && tamanho != ""){
document.getElementById("campoDoValoParaExibicao").value = "x.xx";
}
}
</script>
Ou, se o preço vier de uma função tb, vc chama a função.
Deu para entender?
Palagar,
Nesse caso você não respondeu a própria dúvida? Sé é um evento onchange, então a exibição do valor só deve acontecer depois da mudança de todos os inputs que você incluir na sua lógica.
Ou você pode adicionar a condição selected aos elementos cor e tamanho e após isso exibir o valor.
Exemplo:
EDITADO: Agora eu vi que você criou dois tópicos e resolveu o problema. Peça a algum moderador que elimine um dos tópicos.