Fórum Capturar valor hidden em um laço JQUERY #588723
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
Gostei + 0
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
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)