Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Caros amigos,
eu preciso de um Select no qual eu selecione uma opção e carregue um outro Select com novas opções vindas do DB sem Refresh.
Pesquisei mas não achei isto em ASP, só em PHP: [http://webomnizz.com/blog/php/dynamic-select-box-with-jquery-and-php/](http://webomnizz.com/blog/php/dynamic-select-box-with-jquery-and-php/)
Não sei como isso funcionaria em ASP, alguém pode ajudar? Especialmente a ultima parte do Tutorial acima, não faço ideia como reproduzir em ASP.
Obrigado pela atenção de todos.
Como eu faço para fazer esse código PHP no ASP:
$collect[$num]['id'] = $row['id'];
Tentei isso mas não deu certo:
rcount = rcount + 1
collect("" & rcount & "")("" & id & "") = rsm2("id")
Bom... Eu achei um código pesquisando a dica do Gustavo, funcionou, mas estou com um pequeno problema.
Consigo selecionar a Turma e depois mostra os Alunos daquela turma selecionada, porém depois que seleciono o aluno que eu quero e clico em Enviar Mensagem não consigo recuperar o valor selecionado, isto é, o ID do Aluno selecionado na página de gravação no db. Alguém sabe como resolver isso?
Segue o código
<script>
function showCustomer(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","mostra_alunos.asp?q="+str,true);
xmlhttp.send();
}
</script>
<form name="msg" action="message_grava.asp" method="get">
<!--#include file="dsn_sql.asp"-->
<select name="customers" onchange="showCustomer(this.value)">
<option value="" selected>Selecione</option>
<option>-------------------</option>Set conn_p = Server.CreateObject("ADODB.Connection")
conn_p.Open dsn_sql
sqlm1 = "SELECT id,turma FROM turmas"
set rsm1 = conn_p.execute(sqlm1)
if rsm1.eof and rsm1.bof then
response.write ""
else
do while not rsm1.eof
%>
<option value="<%= rsm1("id") %>"><%= rsm1("turma") %></option>
<option>-------------------</option>end if
set rsm1 = nothing
%>
</select>
<input name="submit" type="submit" value="Enviar Mensagem" />
</form>
<br>
<div id="txtHint"></div>
mostra_alunos.asp
<% Response.Charset="ISO-8859-1" %>
<%
sql="SELECT id_aluno,aluno from turmas_alunos where id_turma="
sql=sql & "'" & request.querystring("q") & "'"
set rs = conn_p.execute(sql)
%>
<select name="turma" class="fselect-n" style="width:185px;">
<option value="" selected>Selecione</option>
<option>-------------------</option><option value="<%= rs("id_aluno") %>,<%= rs("aluno") %>"><%= rs("aluno") %></option>
<option>-------------------</option>joga ela numa variável session e depois recupera. Mas dá uma procurada no fórum que eu postei um exemplo de prrencher um dropdown com dados do bd, após selecionar o primeiro ele dá um bind (popula) o outro combobox. Vai resolver seu problema.
Caro xanburzum
Acho que resolvi o problema é que o botão Submit estava acima do segundo Select.
Obrigado pela ajuda de todos.
maravilha ASPmano... coloca como resolvido
procure sobre AJAX no asp que tem aqui no forum ou no google mesmo.... no decorrer do desenvolvimento você tire as dúvidas aqui!! mas é super tranquilo...
Sucesso!