Ir para conteúdo

POWERED BY:

Arquivado

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

pavel

combo dinamica - tô jogando a toalha!

Recommended Posts

Ola amigos.

Peguei o exemplo do Gustavo para "COMBOS DINAMICAS" e tentei aplicar num script meu, só que não limpava. Ai eu vi que ele postou um adendo para que ao clicar em nova opção ele zerasse a segunda combo, mas tambem não tá dando certo. Toda vez que aplico aprece a msg dizendo "Esta proprieda ou método não tem suporte do objeto".

Alguem pode me ajudar, segue o código:

 

<html>

<head>

<title>Untitled Document</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

 

<body>

<%

Set conexao = Server.CreateObject("AdoDb.Connection")

conexao.provider="Microsoft.Jet.OLEDB.4.0"

conexao.connectionstring=Server.Mappath("../base.mdb")

conexao.Open

%>

<form name="form1" method="post" action="">

<select name="categorias" size="10" onChange="filtro()" style="width:200;background:#FFFFFF;font:10px;font-family:Verdana;color:Navy;">

<option value="0" selected>-- Categoria 1 --</option>

<%

SQL_Cat = "select * from anunciocategoria order by AnCatNome"

Set RS_Cat = conexao.Execute(SQL_Cat)

Do Until RS_Cat.EOF

Response.Write "<option value="&RS_Cat("ancatid")&">"&RS_Cat("ancatnome")&"</option>"

RS_Cat.MoveNext

Loop

%>

</select>

 

<select name="categorias2" size="10" onChange="filtro2()" style="width:200;background:#FFFFFF;font:10px;font-family:Verdana;color:Navy;">

<option value="0" >-- Categoria 2 --</option>

</select>

 

<select name="categorias3" size="10" style="width:200;background:#FFFFFF;font:10px;font-family:Verdana;color:Navy;">

<option selected>-- Categoria 3 --</option>

</select>

</form>

<script>

 

function filtro()

{

var categoria = document.form1.categorias.options[document.form1.categorias.selectedIndex].value

;

var controle = 0

var contador = 0

document.form1.categorias2.options[0]=new Option('-- Categoria 2 --','0');

contador = 1

 

document.form1.categorias.selectedIndex==0;

s = document.form1.categorias2

do { s.options[s.selectedIndex]=null; }

while (s.selectedIndex >= 0)

 

 

<%

SQL_Cat2 = "select * from anunciocategoria order by AnCatNome"

Set RS_Cat2 = conexao.Execute(SQL_Cat2)

Do Until RS_Cat2.EOF

SQL_Prod = "select * from anunciosubcategoria1 where AnCatID = "&RS_Cat2("AnCatID")

Set RS_Prod = conexao.Execute(SQL_Prod)

SQL_Count = "select count(*) as maximo from anunciosubcategoria1 where AnCatID = "&RS_Cat2("AnCatID")

Set RS_Count = conexao.Execute(SQL_Count)

Do Until RS_Prod.EOF

%>

 

if(<%=RS_Prod("ancatid")%> == categoria && controle < <%=RS_Count("maximo")%>)//2acategoria

{

controle++

document.form1.categorias2.options[contador]=new Option('<%=RS_Prod("AnSubCat1Nome")%>','<%=RS_Prod("AnSubCat1ID")%>');

contador++

}

 

<%

RS_Prod.MoveNext

Loop

RS_Cat2.MoveNext

Loop

%>

 

}

 

function filtro2()

{

var categoria2 = document.form1.categorias2.options[document.form1.categorias2.selectedIndex].val

ue;

var controle2 = 0

var contador2 = 0

document.form1.categorias3.options[0]=new Option('-- Categoria 3 --','0');

contador2 = 1

 

<%

SQL_Cat3 = "select * from anunciosubcategoria1 order by AnSubCat1Nome"

Set RS_Cat3 = conexao.Execute(SQL_Cat3)

Do Until RS_Cat3.EOF

SQL_Prod2 = "select * from AnuncioSubcategoria2 where AnSubCat1ID = "&RS_Cat3("AnSubCat1ID")

Set RS_Prod2 = conexao.Execute(SQL_Prod2)

SQL_Count2 = "select count(*) as maximo from AnuncioSubcategoria2 where AnSubCat1ID = "&RS_Cat3("AnSubCat1ID")

Set RS_Count2 = conexao.Execute(SQL_Count2)

Do Until RS_Prod2.EOF

%>

 

if(<%=RS_Prod2("AnSubCat1ID")%> == categoria2 && controle2 < <%=RS_Count2("maximo")%>)//3acategoria

{

controle2++

document.form1.categorias3.options[contador2]=new Option('<%=RS_Prod2("AnSubCat2Nome")%>','<%=RS_Prod2("AnSubCat2ID")%>');

contador2++

}

 

<%

RS_Prod2.MoveNext

Loop

RS_Cat3.MoveNext

Loop

%>

 

}

 

</script>

</body>

</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola minha gente.

Vai o meu agradecimento pra todos e posto aqui a resposta para minhas dúvidas.

Quebrei a cabeça, mas consegui achar uma solução e posto aqui para quem tiver o mesmo problema.

Nesse sistema voces poderam ter várias combos.

 

No lugar do código:

 

document.form1.categorias.selectedIndex==0;

s = document.form1.categorias2

do { s.options[s.selectedIndex]=null; }

while (s.selectedIndex >= 0)

 

Coloque o seguinte código:

 

document.form1.categorias.selectedIndex==0;

s = document.form1.categorias2

do { s.length=null; }

while (s.selectedIndex >= 0)

 

Agradeço a todos que me ajudaram e por favor avisem ao articulista Gustavo Faeli da correção e pela resposta aos meus emails.

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.