Capturar valor hidden em um laço JQUERY
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
Curtidas 0
Respostas
Rander Freitas
11/11/2017
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
GOSTEI 0
Rander Freitas
11/11/2017
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!
GOSTEI 0