Capturar valor hidden em um laço JQUERY

14 views
Skip to first unread message

decorac...@gmail.com

unread,
Nov 12, 2017, 1:08:01 PM11/12/17
to jQuery (Brasil)

Sou nova por aqui, gostaria de ajuda sobre como pegar um valor de um hidden que esta em um util. Preciso desse valor para enviar para a próxima tela, mas como ele esta em uma tabela com vários linhas, eu não estou conseguindo fazer isso. Preciso pegar esse valor no javascript.

A tela:

<div class="grupoLista">
           
<util:tabela id="lista" colecao="${form.listaPrograma12}" paginar="true" indiceProperty="lerDe" totalRegistrosProperty="qtdTotalLista" tamanhoPagina="30" idxLinha="true">
               
<util:coluna id="id" titulo="" propriedade="nuContrato" tipo="radio">
                   
<input type="radio"     name="listaIndice"          value="${idxLinha}" />
                   
<input type="hidden"    name="listanuContrato"      value="${lista.nuContrato}" />
                   
<input type="hidden"    name="listanuStatus"        value="${lista.nuStatus}" />
                   
<input type="hidden"    name="listanoStatus"        value="${lista.noStatus}"/>
                   
<input type="hidden"    name="listanoEmpresa"       value="${lista.noEmpresa}"/>
                   
<input type="hidden"    name="listanoGestor"        value="${lista.noGestor}"/>
                   
<input type="hidden"    name="listadtAssina"        value="${lista.dtAssina}"/>
                   
<input type="hidden"    name="listavlContrato"      value="${lista.vlContrato}"/>
                   
<input type="hidden"    name="listavlDevolucao"     value="${lista.vlDevolucao}"/>
                   
<input type="hidden"    name="listavlDev"   value="${lista.vlDev}"/>
                   
<input type="hidden"    name="listanuEstagio"       value="${lista.nuEstagio}"/>
                   
<input type="hidden"    name="listanoEstagioCont"   value="${lista.noEstagio}"/>
               
</util:coluna>

       
</div>

O js


function listar(){
   
var validado = true;
   
if(!checkRadio()){
        mensagemAlerta
("Selecione uma das opções na lista.", "INF");
        validado
= false;
   
}
   
if(validado){
       
var linSel = $("input[name=listaIndice]:checked").val();
        document
.getElementById("nuContrato").value = $("#listanuContrato" + linSel).val();
        document
.getElementById("nuStatus").value = $("#listanuStatus" + linSel).val();

       
var idEstagio = $("input[name=listanuEstagio]" + linSel).val();
        document
.getElementById("selEstagioCont").value = idEstagio;

       
var noEstagio = $("input[name=listanoEstagioCont]").val();
        document
.getElementById("noSelEstagioCont").value = noEstagio;


        submitForm
("listarContratoDevolucao");
   
}

}

No jsp é montada uma lista, uma tabela com várias linhas e colunas também. Eu seleciono uma linha através de um radio e aciono o botão para enviar o que selecionei. Eu preciso pega o campo listanuEstagio do que foi selecionado e jogar em outro hidden, pra quando acionar o botão enviar, esse valor permaneça para a próxima tela. A situação é: como capturar esse listanuEstagio já que ele faz parte de uma lista montada, com o código que fiz ele só esta retornando o valor da primeira linha

Everton Amaral Pereira

unread,
Nov 13, 2017, 2:02:38 PM11/13/17
to jque...@googlegroups.com
Não teria como postar o html gerado? Aí fica mais fácil de entender.

Uma sugestão seria trocar esta linha:

var linSel = $("input[name=listaIndice]:checked").val();

Por isto:
var linSel = $("input[name=listaIndice]:checked");

Deste modo, tu pega o elemento selecionado, e não o valor dele.
Aí, pra encontrar os outros valores da linha selecionada, basta usar o nextAll do jquery, filtrando com o nome do elemento.
document.getElementById("nuContrato").value = linSel.nextAll('[name="listanuContrato"]').val();

O nextAll vai procurar o elemento 'irmão' de linSel. Passando um filtro pra ele, o comando vai lendo os próximos elementos, até encontrar um que o nome coincida.

Não cheguei a testar isso porque precisava do html gerado, mas acho que o caminho é por aí.

--
--
Grupo de jQuery Brasil.
 
REGRAS: https://docs.google.com/document/d/1VfvTDmeHTSj-L5ouZJjQQ4OkjTCU1Hr2XtPYBNGVHH4/edit
 
USE O JSBIN.COM / JSFIDDLE.NET PARA CÓDIGOS.
 
Email: jque...@googlegroups.com
Biba: jquery-br+unsubscribe@googlegroups.com
Site: http://groups.google.com/group/jquery-br?hl=pt-BR

---
Você recebeu essa mensagem porque está inscrito no grupo "jQuery (Brasil)" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para jquery-br+unsubscribe@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.



--
Reply all
Reply to author
Forward
0 new messages