Capturar valor hidden em um laço JQUERY
11/11/2017
0
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:
O JS
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
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="$" /> <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
Priscila Braz
Curtir tópico
+ 0
Responder
Posts
14/11/2017
Rander Freitas
Olá Priscila,
Para ter um entendimento melhor, seria bom se você enviasse o código do projeto inteiro zipado + script sql do banco de dados.
Mas pelo que entendi. Na linha:
var idEstagio = $("input[name=listanuEstagio]" + linSel).val();
Através do JQuery, você está selecionando um input pelo atributo name concatenando com a variável linSel.
Se a variável linSel for igual a 0, o resultado será:
var idEstagio = $("input[name=listanuEstagio]0").val();
Se a variável linSel for igual a 1, o resultado será:
var idEstagio = $("input[name=listanuEstagio]1").val();
Só você definiu o hidden como:
<input type="hidden" name="listanuEstagio" value="${lista.nuEstagio}" />
Ou seja, o código jQuery nunca irá funcionar, pois está selecionando o hidden com nome que não existe.
Ao invés de usar campos hidden, porque não usa variáveis de sessão para passar dados de uma página a outra ?
Aqui na Devmedia, temos um tutorial sobre isso:
https://www.devmedia.com.br/forum/sessoes-em-servlets-e-jsp-como-criar-e-controlar/565636
Para ter um entendimento melhor, seria bom se você enviasse o código do projeto inteiro zipado + script sql do banco de dados.
Mas pelo que entendi. Na linha:
var idEstagio = $("input[name=listanuEstagio]" + linSel).val();
Através do JQuery, você está selecionando um input pelo atributo name concatenando com a variável linSel.
Se a variável linSel for igual a 0, o resultado será:
var idEstagio = $("input[name=listanuEstagio]0").val();
Se a variável linSel for igual a 1, o resultado será:
var idEstagio = $("input[name=listanuEstagio]1").val();
Só você definiu o hidden como:
<input type="hidden" name="listanuEstagio" value="${lista.nuEstagio}" />
Ou seja, o código jQuery nunca irá funcionar, pois está selecionando o hidden com nome que não existe.
Ao invés de usar campos hidden, porque não usa variáveis de sessão para passar dados de uma página a outra ?
Aqui na Devmedia, temos um tutorial sobre isso:
https://www.devmedia.com.br/forum/sessoes-em-servlets-e-jsp-como-criar-e-controlar/565636
Responder
14/11/2017
Rander Freitas
Olá Priscila,
Para ter um entendimento melhor, seria bom se você enviasse o código do projeto inteiro zipado + script sql do banco de dados.
Mas pelo que entendi. Na linha:
var idEstagio = $("input[name=listanuEstagio]" + linSel).val();
Através do JQuery, você está selecionando um input pelo atributo name concatenando com a variável linSel.
Se a variável linSel for igual a 0, o resultado será:
var idEstagio = $("input[name=listanuEstagio]0").val();
Se a variável linSel for igual a 1, o resultado será:
var idEstagio = $("input[name=listanuEstagio]1").val();
Só você definiu o hidden como:
<input type="hidden" name="listanuEstagio" value="${lista.nuEstagio}" />
Ou seja, o código jQuery nunca irá funcionar, pois está selecionando o hidden com nome que não existe.
Ao invés de usar campos hidden, porque não usa variáveis de sessão para passar dados de uma página a outra ?
Aqui na Devmedia, temos um tutorial sobre isso:
https://www.devmedia.com.br/forum/sessoes-em-servlets-e-jsp-como-criar-e-controlar/565636
Valeu!
Para ter um entendimento melhor, seria bom se você enviasse o código do projeto inteiro zipado + script sql do banco de dados.
Mas pelo que entendi. Na linha:
var idEstagio = $("input[name=listanuEstagio]" + linSel).val();
Através do JQuery, você está selecionando um input pelo atributo name concatenando com a variável linSel.
Se a variável linSel for igual a 0, o resultado será:
var idEstagio = $("input[name=listanuEstagio]0").val();
Se a variável linSel for igual a 1, o resultado será:
var idEstagio = $("input[name=listanuEstagio]1").val();
Só você definiu o hidden como:
<input type="hidden" name="listanuEstagio" value="${lista.nuEstagio}" />
Ou seja, o código jQuery nunca irá funcionar, pois está selecionando o hidden com nome que não existe.
Ao invés de usar campos hidden, porque não usa variáveis de sessão para passar dados de uma página a outra ?
Aqui na Devmedia, temos um tutorial sobre isso:
https://www.devmedia.com.br/forum/sessoes-em-servlets-e-jsp-como-criar-e-controlar/565636
Valeu!
Responder
Clique aqui para fazer login e interagir na Comunidade :)