Seguinte tenho 4 selects dinamico em uma pagina os 4 funcionam, o unico problema é que, quando escolho o primeiro select, o segundo muda automaticamente, perfeito, quando escolho o segundo select o terceiro aparece em branco ou mesmo quando o segundo select é preenchido automaticamente, o terceiro continua em branco... a solução tem que ir até a opção de baixo no segundo select muda-la e volta pro primeiro, para aparecer as opções no terceiro, funciona, mas imagina um cliente leigo fazendo toda essa gambiarra...
Se alguém souber como eu arrumo isso... por que não manjo NADA de JS...
Primeiro Código que Muda o segundo select conforma a escolha do primeiro
Function EscreveFuncaoJavaScript ( Conexao )
Response.Write "<script language=""JavaScript"">" & vbcrlf
Response.Write "function atualizacategoria (form) {" & vbcrlf
Response.Write "switch (form.vcategorias.options[form.vcategorias.selectedIndex].value) {" & vbcrlf
SQL = "SELECT * FROM categorias ORDER BY categoria ASC"
SET RS = Server.CreateObject("AdoDB.RecordSet")
RS.Open SQL,Conexao
While NOT RS.EOF
Response.Write "case '" & rs("categoria") & "':" & vbcrlf
Response.Write "form.sub2.length=0;" & vbcrlf
SQL = "SELECT * FROM sub_categorias WHERE categoria='" & rs("categoria") & "'"
Set RS2 = Server.CreateObject("AdoDB.RecordSet")
RS2.Open SQL,Conexao
i = 0
While NOT RS2.EoF
Response.Write "form.sub2.options[" & i & "] = new Option('" & RS2("sub_categoria") & "','" & RS2("sub_categoria") & "');" & vbcrlf
i=i+1
RS2.MoveNext
Wend
rs2.close
set rs2 = nothing
Response.Write "break;" & vbcrlf
RS.MoveNext
Wend
rs.close
set rs = nothing
Response.Write "}}" & vbcrlf & "</script>" & vbcrlf
End Function
Segundo codigo, que muda o terceiro select depnedendo da escolha do segundo select
Function EscreveFuncaoJavaScript2 ( Conexao )
Response.Write "<script language=""JavaScript"">" & vbcrlf
Response.Write "function atualizacategoria2 (form) {" & vbcrlf
Response.Write "switch (form.sub2.options[form.sub2.selectedIndex].value) {" & vbcrlf
SQL = "SELECT * FROM sub_categorias ORDER BY sub_categoria ASC"
SET RS = Server.CreateObject("AdoDB.RecordSet")
RS.Open SQL,Conexao
While NOT RS.EOF
Response.Write "case '" & rs("sub_categoria") & "':" & vbcrlf
Response.Write "form.sub3.length=0;" & vbcrlf
SQL = "SELECT * FROM sub_categorias_2 WHERE sub_categoria='" & rs("sub_categoria") & "'"
Set RS2 = Server.CreateObject("AdoDB.RecordSet")
RS2.Open SQL,Conexao
i = 0
While NOT RS2.EoF
Response.Write "form.sub3.options[" & i & "] = new Option('" & RS2("sub_categoria_2") & "','" & RS2("sub_categoria_2") & "');" & vbcrlf
i=i+1
RS2.MoveNext
Wend
rs2.close
set rs2 = nothing
Response.Write "break;" & vbcrlf
RS.MoveNext
Wend
rs.close
set rs = nothing
Response.Write "}}" & vbcrlf & "</script>" & vbcrlf
End Function
Resumindo, no codigo acima precisava que automaticamente ele já mostra-se as opções quando o segundo select já fosse preenchido automaticamente, o que não está acontecendo...
Pergunta
DackAle
E ae galera =)
Seguinte tenho 4 selects dinamico em uma pagina os 4 funcionam, o unico problema é que, quando escolho o primeiro select, o segundo muda automaticamente, perfeito, quando escolho o segundo select o terceiro aparece em branco ou mesmo quando o segundo select é preenchido automaticamente, o terceiro continua em branco... a solução tem que ir até a opção de baixo no segundo select muda-la e volta pro primeiro, para aparecer as opções no terceiro, funciona, mas imagina um cliente leigo fazendo toda essa gambiarra...
Se alguém souber como eu arrumo isso... por que não manjo NADA de JS...
Primeiro Código que Muda o segundo select conforma a escolha do primeiro
Segundo codigo, que muda o terceiro select depnedendo da escolha do segundo selectResumindo, no codigo acima precisava que automaticamente ele já mostra-se as opções quando o segundo select já fosse preenchido automaticamente, o que não está acontecendo...
Valeu galera =)
Abraçossss
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
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.