Combobox dinâmico

Bom dia
Estou falando de uma página JSP.

Quero que ao selecionar um campo da combobox ele automáticamente amostre em um campo text o nome relacionado.

Exemplo real:

Conta: “combobox com as contas que já estão cadastradas no banco”
Titulo da conta: “Aqui deverá aparecer o titulo da conta correspondente”

gostaria q isso acontecece ao clicar na opção da combobox.

Quem puder me ajudar, ficarei grato.

opa,

bom, você pode fazer isto usando ajax.

Passos:
crie uma função javascript para criar uma chamada em no servidor,
criar uma serviço um servlet que retorne o xml com a descrição selecionada
colocar evento onchange para chamar a função javascript.

:okok:

fazer isso em uma jsp??

vai ter que fazer com ajax mesmo,porque o combo vai listar tudo, guardar no campo value algum tipo de id e mostrar o nome…pode ser feito de varias maneira. Vai ter que implementar o chamaPagina() com ajax e tudo mais…

tenta assim…

select name=“combo” onChange=“chamaPagina()”
option value=“conta?id=01”>Pedro</option
option value=“conta?id=02”>Maria</option
/select

ou assim,

script
function chamaPagina(){

codigo=document.getElementById(‘combo’).value;
OpenAjaxPostCmd(‘conta.jsp?id=’+codigo,‘faculdade’);
}

Se usar dreamwaver procura uma extensao chama quickAjax…ela faz o codigo Ajax pra vc

cara as opções já estão sendo chamadas do banco,
assim:

[code]<select name="xcodconta" size="1" class="formulario">

                           &lt;%
                                     rs = iss.procuraContas&#40;&quot;&quot;, &quot;tituloconta&quot;&#41;;
                                       if&#40;rs.getFetchSize&#40;&#41; &gt; 0&#41;&#123;
                                          while&#40;rs.next&#40;&#41;&#41;&#123;
                                           out.print&#40;&quot;&lt;option value='&quot; + rs.getString&#40;&quot;tituloconta&quot;&#41; + &quot;'&gt;&quot;&#41;;
                                           out.println&#40;rs.getString&#40;&quot;codigoconta&quot;&#41; + &quot;&lt;/option&gt;&quot;&#41;;
                                           &#125;
                                        &#125;
                                           
			     				     
                                    %&gt;
                                           &lt;/select&gt;[/code]

iss.procuraContas =

[code]public ResultSet procuraContas(String criterio, String campo)throws ClassNotFoundException, SQLException{

    xsql = &quot;select * from contas_iss where &quot;;
    if&#40;campo.equals&#40;&quot;tituloconta&quot;&#41;&#41;&#123;
        xsql = xsql + &quot;tituloconta like '%&quot; + criterio + &quot;'&quot;;
    &#125;
    if&#40;campo.equals&#40;&quot;codigoconta&quot;&#41;&#41;&#123;
        xsql = xsql + &quot;codigoconta=&quot; + criterio;
    &#125;
xsql = xsql + &quot; order by codigoconta&quot;;
return intra.executaSQL&#40;xsql&#41;;
&#125;[/code]

e no banco é assim:

contas_iss &#40;codigoconta text PK, tituloconta text&#41;;

no caso quero que quando uma conta for selecionada na combo, apareça automáticamente o titulo correspondente a ela que já está no banco.

uma pergunta:
posso usar ajax dentro de uma jsp??

este é o trecho de código.

está funcionando, mas somente acontece quando eu inicio a página, quero que toda vez q eu mude a seleção da combobox automáticamente mude o titulodaconta também. eles estão na mesma tabela.
//////////////////////////CÓDIGO///////////////////////////

<select name=“xcodconta” size=“1” class=“formulario”>

                           &lt;%
                                     rs = iss.procuraContas("", "tituloconta");
                                       if(rs.getFetchSize() &gt; 0){
                                          while(rs.next()){
                                           out.print("&lt;option value='" + rs.getString("tituloconta") + "'&gt;");
                                           out.println(rs.getString("codigoconta") + "&lt;/option&gt;");
                                           }
                                        
                                           
			     				     
                                    %&gt;
                                           &lt;/select&gt;&lt;/p&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td width="270"&gt;
                    &lt;p align="right"&gt;Título da Conta&lt;/p&gt;
                &lt;/td&gt;
                &lt;td width="372"&gt;            &lt;p align="left"&gt;&lt;input type="text" name="xtitulodaconta" maxlength="46" size="46" class="formulario" value="&lt;%out.println(rs.getString("tituloconta")); } %&gt;"&gt;

este é o trecho de código.

está funcionando, mas somente acontece quando eu inicio a página, quero que toda vez q eu mude a seleção da combobox automáticamente mude o titulodaconta também. eles estão na mesma tabela.
//////////////////////////CÓDIGO///////////////////////////

<select name=“xcodconta” size=“1” class=“formulario”>

                           &lt;%
                                     rs = iss.procuraContas("", "tituloconta");
                                       if(rs.getFetchSize() &gt; 0){
                                          while(rs.next()){
                                           out.print("&lt;option value='" + rs.getString("tituloconta") + "'&gt;");
                                           out.println(rs.getString("codigoconta") + "&lt;/option&gt;");
                                           }
                                        
                                           
			     				     
                                    %&gt;
                                           &lt;/select&gt;&lt;/p&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td width="270"&gt;
                    &lt;p align="right"&gt;Título da Conta&lt;/p&gt;
                &lt;/td&gt;
                &lt;td width="372"&gt;            &lt;p align="left"&gt;&lt;input type="text" name="xtitulodaconta" maxlength="46" size="46" class="formulario" value="&lt;%out.println(rs.getString("tituloconta")); } %&gt;"&gt;

[quote=“phmd2006”]vai ter que fazer com ajax mesmo,porque o combo vai listar tudo, guardar no campo value algum tipo de id e mostrar o nome…pode ser feito de varias maneira. Vai ter que implementar o chamaPagina() com ajax e tudo mais…

tenta assim…

select name=“combo” onChange=“chamaPagina()”
option value=“conta?id=01”>Pedro</option
option value=“conta?id=02”>Maria</option
/select

ou assim,

script
function chamaPagina(){

codigo=document.getElementById(‘combo’).value;
OpenAjaxPostCmd(‘conta.jsp?id=’+codigo,‘faculdade’);
}

Se usar dreamwaver procura uma extensao chama quickAjax…ela faz o codigo Ajax pra vc[/quote]

Cara eu uso o NamoWebEditor 5 como faço esse ajax? como coloco ele pra rodar, vi que sua função deve funcionar mesmo, só quero adapitar pro meu problema, postei meu código ai em cima, se puder me ajudar ficarei grato.

consegui a solução do problema, quem quiser eu posto aki.

utilizando javascript

Veja este link:

http://elcio.com.br/ajax/combos/

:okok:

[quote=“Felipe_MP”]consegui a solução do problema, quem quiser eu posto aki.

utilizando javascript[/quote]

Posta ai Felipe tbm estou com esse problema aqui no trabalho… Valeu… :grin:

[quote=“SRL_23”][quote=“Felipe_MP”]consegui a solução do problema, quem quiser eu posto aki.

utilizando javascript[/quote]

Posta ai Felipe tbm estou com esse problema aqui no trabalho… Valeu… :grin:[/quote]

lá na combo coloca o onChange

onChange=&quot;if&#40;this.selectedIndex!=0&#41;&#123;addText&#40;this.value&#41;;&#125;&quot;

esse é o código por completo da combobox

[code]<select name="xcodconta" size="1" class="formulario" onChange="if(this.selectedIndex!=0){addText(this.value);}">

                           &lt;%
                                     rs = iss.procuraContas&#40;&quot;&quot;, &quot;tituloconta&quot;&#41;;
                                       if&#40;rs.getFetchSize&#40;&#41; &gt; 0&#41;&#123;
                                           out.print&#40;&quot;&lt;option&gt;&lt;/option&gt;&quot;&#41;;
				       while&#40;rs.next&#40;&#41;&#41;&#123;
				       out.print&#40;&quot;&lt;option value='&quot; + rs.getString&#40;&quot;tituloconta&quot;&#41; +&quot;'&gt;&quot;&#41;;
                                           out.println&#40;rs.getString&#40;&quot;codigoconta&quot;&#41; + &quot;&lt;/option&gt;&quot;&#41;;
				     
                                           &#125;
                               &#125; 
			     				     
                                  %&gt;
                                           &lt;/select&gt;[/code]

qualquer dúvida te mostro como é a classe também caso seja necessário.

esse é o java script


function addText&#40;txt&#41; &#123;

  document.getElementById&#40;&quot;texto_combo&quot;&#41;.value=txt;
 
 &#125;

[quote]
qualquer dúvida te mostro como é a classe também caso seja necessário.[/quote]

Vou tentar fazer aqui quaquer coisa te falo… :oops:
Valeu irmao. Abraços :cool:

[quote=“SRL_23”]
Vou tentar fazer aqui quaquer coisa te falo… :oops:
Valeu irmao. Abraços :cool:[/quote]

beleza,