Ir para conteúdo

POWERED BY:

Arquivado

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

Fernando Almeida

Jquery e checkBoxes

Recommended Posts

Boa tarde, estou com um problema que não encontro solução de forma alguma.

vamos expor o cenario, estou fazendo uma aplicação web java, baseado no struts, onde eu monto de forma dinamica uma tabela na tela.

uma vez com todos os dados da tabela recuperados pelo meu action em java, passo para minha pagina jsp que faz uso do jquery para ordenar resultados e paginar a tabela. [tudo isso esta funcionando]

a primeira coluna desta tabela é um checkbox, que quando o form for submetido irei tratar as informações selecionada.

hoje o programa consegue me retornar os dados que estão selecionados, mas somente os que estão sendo apresentados (um exemplo: tabela com 15 elementos, paginada pra 10 linhas por pagina, se todas as linhas estiverem selecionadas, quando eu não recupero os 15 registros, mas 10 se eu estiver na primeira pagina, e 5 se eu estiver na segunda)

Assim eu gostaria de saber como recuperar todos os dados selecionados, independente de quais estão sendo mostrados.

 

ps: caso este não seja o local correto para esta duvida peço desculpa, e se puder me falar onde seria o ideal para eu postar eu agradeceria.

 

Grato, Fernando

Compartilhar este post


Link para o post
Compartilhar em outros sites

você está usando o plugin tableSorter para fazer a ordenação pelo header das colunas ?

 

nos meus projetos, eu tenho feito essa ordenação 'na mão', com refresh mesmo, fazendo o server-side refazer a query no banco.

pois você terá que fazer isso no final das contas, mesmo que resolva recarregar a tabela com ajax.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você está usando o plugin tableSorter para fazer a ordenação pelo header das colunas ?

 

nos meus projetos, eu tenho feito essa ordenação 'na mão', com refresh mesmo, fazendo o server-side refazer a query no banco.

pois você terá que fazer isso no final das contas, mesmo que resolva recarregar a tabela com ajax.

Sim William, eu to usando o tablesorter, mas para o que eu preciso ele coresponde bem, o unico impecilho mesmo é o fato de eu só conseguir recuperar os valos selecionados de uma pagina (a que está sendo visualizada)

e como o plugin de alguma forma registra na memoria o que esta selecionado (pois se você anda pelas paginas ele retorna com as linha selecionadas, tal qual caixa de emails do gmail), eu queria saber como recuperar essa informação dele (plugin), pois estive dando uma olhada no firebug e eu até consigo localizar a informação que quero, mas eu nao sei como recuperar.

se alguem tiver alguma ideia de como fazer isso, eu agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites
use o Responder Azul respondery.png

ou a 'Resposta Rápida'.

 

só conseguir recuperar os valos selecionados de uma pagina (a que está sendo visualizada)

ele trabalha em cima do HTML atual disponível na página.

 

 

eu nao sei como recuperar.

não dá cara.

 

ou você trás tudo pro html, e deixa lá.. ou você refaz a consulta SQL no banco, e remonta o html.

 

Veja, o plugin é puramente javascript, e não faz ajax por default.

você precisa remontar o html para poder ordenar levando em conta os outros registros que não estão 'a mostra', na 'página atual'.

 

 

Por isso, eu sugiro que ou você esqueça o plugin, e faça a ordenação na mão, enviando uma requisição GET pro servidor, refazendo a query, e remontando o html

ou então da mesma forma, só que usando ajax.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ou você trás tudo pro html, e deixa lá.. ou você refaz a consulta SQL no banco, e remonta o html.

Acredito que já esteja tudo no html. pois veja minha estrutura

o java faz a pesquisa no bd, "select qqer_coisa from tabela", e deste resultado, eu monto um hashtable com as todas linhas retornadas e salvo isso na memória.

então na hora de apresentar a pagina jsp, é executada essa rotina.

<%@ include file="/Taglibs.jsp" %>
<logic:notEqual name="resultTable" property="size" value="0">
            <!-- linhas da tabela -->
            <tbody>
               <logic:iterate name="resultTable" property="table" id="linha" indexId="indexDaLinha" >
                   <tr>
                       <logic:iterate  id="coluna" name="linha" indexId="indexDaColuna" >

                           <logic:equal name="indexDaColuna" value="0">
                               <td><center>
                                       <bean:write name="coluna" property="label"/>
                                       <input <bean:write name="coluna" property="formato"/> 

                                       />
                               </center></td>

                           </logic:equal>
                           <logic:notEqual name="indexDaColuna" value="0">
                               <td>                        
                                   <bean:write name="coluna"/>
                               </td>
                           </logic:notEqual>
                       </logic:iterate>
                   </tr>
               </logic:iterate>

           </tbody> 

</logic:notEqual>

o que irá montar no codigo final as linhas da tabela, com a primeira coluna com meu checkbox.

depois de a pagina pronta, os resultados são exibidos a cada 10 (a paginação é pelo jquery tbm)

este é basicamente o programa

 

Veja, o plugin é puramente javascript, e não faz ajax por default.

você precisa remontar o html para poder ordenar levando em conta os outros registros que não estão 'a mostra', na 'página atual'.

eu ainda não compreendi direito essa questão entre ajax, e javascript, mas se eu estiver certo, o plugin deve estar configurado para usar ajax, pois não importa qual ação ele execute (mudar de pagina ou ordenar), ele não recarrega a pagina, ele só altera os resultados que estão sendo mostrados (me corrija se eu estiver errado sobre o ajax)

 

quando ele ordena, ele pega todos os registros da tabela, não só o que esta 'a mostra', e quando alterada a pagina ou ordenada de forma que a linha selecionada não fique visível, se eu procura-la ele se mantem com o checkbox selecionado. Por isso que eu digo que ele deve salvar em algum lugar da memoria todas as linhas da tabela, com o valor do checkbox como checked ou não, eu só nao consigo saber onde.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu ainda não compreendi direito essa questão entre ajax, e javascript, mas se eu estiver certo, o plugin deve estar configurado para usar ajax, pois não importa qual ação ele execute (mudar de pagina ou ordenar), ele não recarrega a pagina, ele só altera os resultados que estão sendo mostrados (me corrija se eu estiver errado sobre o ajax)

sim, você está errado.

 

ajax seria ir no servidor e voltar com os dados.

o plugin não faz isso(é isso que você precisa fazer), ela trabalha com o HTML que está lá disponível, que você vê no Exibir > Código Fonte (Ctrl + U)

Compartilhar este post


Link para o post
Compartilhar em outros sites

obrigado por me esclarecer a questão de javascript e ajax, comecei a mexer com web faz pouco tempo.

 

eu estou vendo pelo firebug (uma feramenta de debug pra sites) e nele eu consigo achar as informações que eu quero dentro do DOM (não entendi ainda o que ele é), por este caminho

 

windows>$>event>global>appendCache>0>config>rowsCopy> ** >0>cells>0>lastChild>lastElementChild>checked

** = numero da linha de 0 até a ultima

 

será que existe alguma forma da minha aplicação recuperar essa informação? afinal se eu tiver entendido le ta montando um cache com o que eu quero.

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.