Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gilberto Jr

Listagem de acordo com o select

Recommended Posts

Bom dia;

 

Eu estou com uma duvida.

 

Hoje no meu sistema eu tenho dois select no meu formulário. De acordo que ele escolhe no primeiro select e mostra no segundo select.

 

Exemplo: Se no primeiro select selecionar a rede HERING no segundo select ira mostrar somente as lojas que é da rede HERING.

 

Até ai tudo bem, mas o que eu quero agora é se a pessoa selecionar o serviço no primeiro select dai vai mostra todos os sub-serviço listado abaixo em uma div incrementado com input type="checkbox".

 

Exemplo 2: Tenho um serviço com o nome

 

SERVIÇO

PREVENTIVA

 

SUB-SERVIÇO

PREVENTIVA FÍSICA

PREVENTIVA GERAL

PREVENTIVA SISTEMA

 

Nesse caso quando o funcionário escolher o serviço PREVENTIVA ele lista abaixo em uma div que seja os sub-serviços.

 

Isso é possível?

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gilberto boa pergunta tbm tenho essa duvida, qnd vc fala div é um sub-menu? desculpe sou leigo. nao sei se seria o caso mas vc tbm poderia usar um select case.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não seria um sub-menu.

 

Div é um elemento que usamos dentro do html para colocar alguma informação.

 

Att;

 

 

Alguém pode me ajudar nessa situação?

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, fAz com jquery, vc pode alimentar ele por xml ou txt fica até mais rápido

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é, hoje eu tenho esse código que alimenta e segundo select de formulario de acordo com o que foi selecionado no primeiro select.

Function EscreveFuncaoJavaScript ( Conexao )
'O parametro conexao receberá uma conexao aberta!
'Em funcoes, geralmente não criamos objetos do tipo conexões!
'Opte por sempre deixar sua função o mais compatível possível com qualquer projeto!

'Primeiro vamos escrever o cabecalho de qualquer script javascript!
Response.Write "<script language=""JavaScript"">" & vbcrlf 
Response.Write "function atualizalojas (form) {" & vbcrlf

'Essa função JavaScript recebe o form em que estão os campos a serem atualizados!
'Veja na chamada da função no método OnChange em que se passa o this.form!

'Vamos criar um switch para ele verificar qual opção foi selecionada!! 
Response.Write "switch (form.rede.options[form.rede.selectedIndex].value) {" & vbcrlf 

'Agora entramos com o banco de dados! Temos que jogar aqui todas as opções de carro!
set rsRedea = conn.execute("select * from rede where situacao=1 or situacao=2 order by nomerede asc")
'Set rsMarcas = Conexao.Execute ( SqlMarcas )

While NOT rsRedea.EOF

'Caso tenha sido essa marca selecionada... 
Response.Write "case '" & rsRedea("ID") & "':" & vbcrlf

'Apagamos tudo o que tem na caixa dos carros!
Response.Write "form.loja.length=0;" & vbcrlf 

'Abrimos todos os carros relativos a essa marca!
set loja = conn.execute("SELECT id, fantasia_apelido FROM tec_clientefornecedor WHERE rede="&rsRedea("id")&" and situacao=1 and tipo<>2 order by fantasia_apelido asc")
'Set rsCarros = Conexao.Execute ( SqlCarros )

'Fazemos um loop por todos os carros, criando uma nova opção no SELECT! 
i = 0 
While NOT loja.EoF

Response.Write "form.loja.options[" & i & "] = new Option('" & loja("fantasia_apelido") & "','" & loja("id") & "');" & vbcrlf 
i=i+1

loja.MoveNext
Wend

'Imprimos um break! (Verifique tutoriais de JavaScript, se tiverem alguma dúvida da sua utilização! 
Response.Write "break;" & vbcrlf

'Próxima marca! 
rsRedea.MoveNext 
Wend 

'Fecha chaves do switch e da função! E fecha o script! 
Response.Write "}}" & vbcrlf & "</script>" & vbcrlf 

End Function

O que eu quero agora é mostrar os subserviços de acordo com o SERVIÇO que foi selecionado no select.

 

Poderia me ajudar nessa solução.

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gilberto você quer carregar os subs-serviços por ajax? senão você já podia deixar carregado dentro de uma div oculta quando o cliente escolhesse o serviço ai é só mostra a div referente...

 

qualquer dúvida fala ai!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem alguns exemplos que postei em como criar um dropdown dependente de outro com txt,xml, AJAX... dá uma verificada no fórum e artigos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gustavo Emygdio Barboza

Eu posso carregar por Ajax sim. O Problema é que eu não sei por onde começar.

 

Você não teria um exemplo?

 

xanburzum

Já procurei no forum e não encontrei nada relacionado.

Não teria um exemplo de como fazer? O ideal para mim seria em Ajax.

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver. Palmas para mim rsrs.

 

Na pagina que lista os serviços ficou da seguinte forma

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
dim conn
'Criamos o objeto de conexão
Set conn = Server.CreateObject("ADODB.Connection") 
 
'Abrimos uma conexão com o banco de dados - [IMPORTANTE] altere os dados abaixo com as informações de sua base de dados
conn.Open("DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost;PORT=3306;DATABASE=basedados;USER=root;PASSWORD=211613;OPTION=3;")

set servico = conn.execute("select * from tec_servico")
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Listagem Sub Serviço</title>
<script>
function showUser(str) {
  if (str=="") {
    document.getElementById("txtHint").innerHTML="";
    return;
  } 
  if (window.XMLHttpRequest) {
    // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
  } else { // code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4 && xmlhttp.status==200) {
      document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
  xmlhttp.open("GET","getuser.asp?q="+str,true);
  xmlhttp.send();
}
</script>
</head>

<body>
<form>
<select name="users" onChange="showUser(this.value)">
<option value="">Selecione o Serviço:</option>
<%
while servico.eof = false
%>
<option value="<%=servico("id")%>"><%=servico("descricao")%></option>
<%
servico.movenext
wend
%>
</select>
</form>

<br>
<div id="txtHint"><b>Person info will be listed here.</b></div>

</body>
</html>
<%
conn.Close()
'Destruímos o objeto
Set conn = Nothing
%>

E na pagina getuser.asp Ficou assim

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
Response.AddHeader "Content-Type", "text/html; charset=utf-8"
Response.AddHeader "Pragma", "no-cache"
response.Charset="utf-8"
%>
<%
dim conn
'Criamos o objeto de conexão
Set conn = Server.CreateObject("ADODB.Connection") 
 
'Abrimos uma conexão com o banco de dados - [IMPORTANTE] altere os dados abaixo com as informações de sua base de dados
conn.Open("DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost;PORT=3306;DATABASE=basedados;USER=root;PASSWORD=211613;OPTION=3;")
	'arquivo que checa se existe o login e a senha do usuario que esta tentando logar

q = request.QueryString("q")

set subservico = conn.execute("SELECT * FROM tec_sub_servico WHERE idservico = '"&q&"'")

while subservico.eof = false
response.Write(subservico("descricao")&"<input type='checkbox' value='"&subservico("id")&"' name='teste'><br />")
subservico.movenext
wend

conn.Close()
'Destruímos o objeto
Set conn = Nothing

%>

Sendo assim funcionou. Coisa tão Simples.

 

Na verdade eu peguei um código PHP e adaptei e funciono perfeito.

 

Obrigado

xanburzum

E

Gustavo Emygdio Barboza

 

Att;


10406933_751594854884313_830863138591842

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.