Ir para conteúdo
Fórum Script Brasil
  • 0

Campos interligados


Augusto Flávio

Pergunta

Boa noite pessoal,

Preciso de um formulario com campos semelhantes aos das lojas, onde após escolher a marca de um produto, tenho a opção de escolher o modelo deste mesmo produto

Augusto Flávio

Editado por Jonathan Queiroz
Não são permitidos títulos em caixa alta (Jonathan)
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Nesse caso você pode fazer algo +/- assim:

//variáveis
var marcas=[]
var sel_marca=document.getElementById("sel_marca")
var sel_modelo=document.getElementById("sel_modelo")
//função para add marcas
function addMarca(n){
var i=marcas.length
marcas[i]["nome"]=n
marcas[i]["modelos"]=[]
return i
}
//função para add modelos
function addModelo(marca,nome_modelo){
var i=marcas[marca]["modelos"].length
marcas[marca]["modelos"][i]=nome_modelo
}
//add as marcas/modelos
var marca_atual=addMarca("Marca 1")
addModelo(marca_atual,"Modelo I da marca 1")
addModelo(marca_atual,"Modelo II da marca 1")
addModelo(marca_atual,"Modelo III da marca 1")
var marca_atual=addMarca("Marca 2")
addModelo(marca_atual,"Modelo I da marca 2")
addModelo(marca_atual,"Modelo II da marca 2")
addModelo(marca_atual,"Modelo III da marca 2")
//gera o select
sel_marcas.innerHTML=""
for(var i=0;i<marcas.length;i++){
var marca=document.createElement("option")
marca.value=i
marca.innerText=marcas[i]["nome"]
sel_marcas.appendChild(marca)
}
//quando a opção for modificada
sel_marcas.onchange=function(){
var marca=marcas[this.value]
sel_modelo.innerHTML=""
for(var i=0;i<marca["modelos"].length){
var modelo=document.createElement("option")
modelo.value=i
modelo.innerText=marca["modelos"][i]
sel_modelo.appendChild(modelo)
}
}

Obs.:

Não cheguei a testar, mas deve funcionar

Link para o comentário
Compartilhar em outros sites

  • 0
Nesse caso você pode fazer algo +/- assim:

//variáveis
var marcas=[]
var sel_marca=document.getElementById("sel_marca")
var sel_modelo=document.getElementById("sel_modelo")
//função para add marcas
function addMarca(n){
var i=marcas.length
marcas[i]["nome"]=n
marcas[i]["modelos"]=[]
return i
}
//função para add modelos
function addModelo(marca,nome_modelo){
var i=marcas[marca]["modelos"].length
marcas[marca]["modelos"][i]=nome_modelo
}
//add as marcas/modelos
var marca_atual=addMarca("Marca 1")
addModelo(marca_atual,"Modelo I da marca 1")
addModelo(marca_atual,"Modelo II da marca 1")
addModelo(marca_atual,"Modelo III da marca 1")
var marca_atual=addMarca("Marca 2")
addModelo(marca_atual,"Modelo I da marca 2")
addModelo(marca_atual,"Modelo II da marca 2")
addModelo(marca_atual,"Modelo III da marca 2")
//gera o select
sel_marcas.innerHTML=""
for(var i=0;i<marcas.length;i++){
var marca=document.createElement("option")
marca.value=i
marca.innerText=marcas[i]["nome"]
sel_marcas.appendChild(marca)
}
//quando a opção for modificada
sel_marcas.onchange=function(){
var marca=marcas[this.value]
sel_modelo.innerHTML=""
for(var i=0;i<marca["modelos"].length){
var modelo=document.createElement("option")
modelo.value=i
modelo.innerText=marca["modelos"][i]
sel_modelo.appendChild(modelo)
}
}

Obs.:

Não cheguei a testar, mas deve funcionar

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...