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

Combo Box


ratocuiara

Pergunta

Pessoal é o seguite criei um bd com as seguintes tabelas e criei uma relação entre elas.

TabPeso----------TabOrigem----------TabDestino

codpeso>>>>>>codpeso------------cidadedestino

peso--------------codcidade1>>>>>>codcidade1

--------------------cidadeorigem

Despois peguei na net um exemplo de combo box e adptei a minha necessidade.

veja o código abaixo:

<%

Function EscreveFuncaoJavaScript ( Conexao )

Response.Write "<script language=""JavaScript"">" & vbcrlf

Response.Write "function atualizaorigem (form) {" & vbcrlf

Response.Write "switch (form.selectpeso.options[form.selectpeso.selectedIndex].value) {" & vbcrlf

SqlPeso = "SELECT * FROM tabpeso ORDER BY codpeso"

Set rsPeso = Conexao.Execute ( SqlPeso )

While NOT rsPeso.EOF

Response.Write "case '" & rsPeso("codpeso") & "':" & vbcrlf

Response.Write "form.selectorigem.length=0;" & vbcrlf

SqlOrigem = "SELECT codpeso, cidadeorigem FROM taborigem WHERE codpeso = " & rsPeso("codpeso")

Set rsOrigem = Conexao.Execute (SqlOrigem)

i = 0

While NOT rsOrigem.EoF

Response.Write "form.selectorigem.options[" & i & "] = new Option('" & rsOrigem("cidadeorigem") & "','" & rsOrigem("codpeso") & "');" & vbcrlf

i=i+1

rsOrigem.MoveNext

Wend

Response.Write "break;" & vbcrlf

rsPeso.MoveNext

Wend

Response.Write "}}" & vbcrlf & "</script>" & vbcrlf

End Function

Esse código faz exatamente o que eu quero, ao clicar no listbox "peso" ele mostra os valores relacionado no listbox origem.

O que eu quero agora é adptar esse código de forma que ao clicar no list box origem ele mostre os valores relacionado ao box destino.

Espero que tenham entendido.

Abraços e vamos que vamos

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Olá...

se você der uma pesquisada aqui na nossa área de JS, você encontrará exatamente o que deseja. biggrin.gif

Flws.

Já fiz esta pesquisa existe fários post sobre combo mais não encontrei nenhum que se adapta-se ao código que estou trabanhando.

Vale resaltar que não entendo muito de JavaScript, mais eu fuço até dar certo, por isso preciso de ajuda.

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Caros amigos, eu consegui. porem o resultado não foi o que eu esperava, a página ficou muito lerda por causa da quantidade de registros que teria que pesquisar. (gerou muitos "cases")

Porem se você está fazendo algo simples e com poucos registros pode ser funcional, por isso vou postar aqui como ficou o código.

<%

Function EscreveFuncaoJavaScript ( Conexao )

Response.Write "<script language=""JavaScript"">" & vbcrlf

Response.Write "function atualizaorigem (form) {" & vbcrlf

Response.Write "switch (form.selectpeso.options[form.selectpeso.selectedIndex].value) {" & vbcrlf

SqlPeso = "SELECT * FROM tabpeso ORDER BY codpeso"

Set rsPeso = Conexao.Execute ( SqlPeso )

While NOT rsPeso.EOF

Response.Write "case '" & rsPeso("codpeso") & "':" & vbcrlf

Response.Write "form.selectorigem.length=0;" & vbcrlf

SqlOrigem = "SELECT codpeso, cidadeorigem FROM taborigem WHERE codpeso = " & rsPeso("codpeso")

Set rsOrigem = Conexao.Execute (SqlOrigem)

i = 0

While NOT rsOrigem.EoF

Response.Write "form.selectorigem.options[" & i & "] = new Option('" & rsOrigem("cidadeorigem") & "','" & rsOrigem("codpeso") & "');" & vbcrlf

i=i+1

rsOrigem.MoveNext

Wend

Response.Write "break;" & vbcrlf

rsPeso.MoveNext

Wend

Response.Write "}}" & vbcrlf & "</script>" & vbcrlf

Response.Write "<script language="JavaScript"">" & vbcrlf

Response.Write "function atualizadestino (form) {" & vbcrlf

Response.Write "switch (form.selectorigem.options[form.selectorigem.selectedIndex].value) {" & vbcrlf

SqlOrigem2 = "SELECT * FROM taborigem ORDER BY codcidade1"

Set rsOrigem2 = Conexao.Execute ( SqlOrigem2 )

While NOT rsOrigem2.EOF

Response.Write "case '" & rsOrigem2("codcidade1") & "':" & vbcrlf

Response.Write "form.selectdestino.length=0;" & vbcrlf

SqlDestino = "SELECT codcidade1, cidade FROM tabdestino WHERE codcidade1 = " & rsOrigem2("codcidade1")

Set rsDestino = Conexao.Execute (SqlDestino)

i = 0

While NOT rsDestino.EoF

Response.Write "form.selectdestino.options[" & i & ] = new Option('" & rsDestino("cidade") & "','" & rsDestino("codcidade1") & "');" & vbcrlf

i=i+1

rsDestino.MoveNext

Wend

Response.Write "break;" & vbcrlf

rsOrigem2.MoveNext

Wend

Response.Write "}}" & vbcrlf & "</script>" & vbcrlf

End Function

%>

espero que seja util.

Abraços.

Podem fechar o tópico

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

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