Pegando valor de INPUT dentro de um foreach com jQuery
02/01/2018
0
Tenho um input dentro de um foreach que segue abaixo.
<input type="number" onchange="cadastraNotaImportada('<?=$disciplina['nome_disciplina'];?>')" class="form-control" name="nota1bm" value="">
Em uma outra página jscript.js
Tenho a chamada da função cadastrarNotaImportada.
Como eu faço pra pegar o valor do input de cima?? Tentei de todas as formas não consegui. Essa foi a última tentativa antes da postagem da pergunta.
function cadastraNotaImportada(nomeDisciplina) {
$(document).ready(function(){
var teste = $(this).val();
alert(teste);
});
}
Lindoberto Araújo
Post mais votado
02/01/2018
<input type="number" onchange="cadastraNotaImportada('<?=$disciplina['nome_disciplina'];?>',this.value)" class="form-control disciplina" name="<?=$disciplina['nome_disciplina'];?>" value="">
function cadastraNotaImportada(nomeDisciplina, value) { $(document).ready(function(){ alert(value); }); }
Lindoberto Araújo
Mais Posts
03/01/2018
Rander Freitas
Eu não entendi porque você imprime o nome da disciplina dentro da função javascript "cadastraNotaImportada('<?=$disciplina['nome_disciplina'];?>'". Pois você já imprime o nome da disciplina o atributo name do input. Você também poderia ter feito o seguinte:
<input type="number" class="form-control disciplina" name="<?=$disciplina['nome_disciplina'];?>" value="">
$(document).ready(function(){ $(input[type="number"]).change(function(){ alert($(this).val()); }); });
Qualquer dúvida, estamos aí!
Valeu!
03/01/2018
Kelvin Andrade
Este problema é bem comum acontecer, não é o input que está chamando a função que você criou e sim o $(document), logo o this terá outro escopo. Você pode resolver isso passando o this como parâmetro, assim como fez!
onchange="cadastraNotaImportada('<?=$disciplina['nome_disciplina'];?>',this.value)"
ou
onchange="cadastraNotaImportada('<?=$disciplina['nome_disciplina'];?>',this)"
Tente colocar o seguinte:
$(document).ready(function(){ $('input.disciplina').on('change', function(){ console.log(this); } });
05/01/2018
Lindoberto Araújo
05/01/2018
Lindoberto Araújo
Este problema é bem comum acontecer, não é o input que está chamando a função que você criou e sim o $(document), logo o this terá outro escopo. Você pode resolver isso passando o this como parâmetro, assim como fez!
onchange="cadastraNotaImportada('<?=$disciplina['nome_disciplina'];?>',this.value)"
ou
onchange="cadastraNotaImportada('<?=$disciplina['nome_disciplina'];?>',this)"
Tente colocar o seguinte:
$(document).ready(function(){ $('input.disciplina').on('change', function(){ console.log(this); } });
Obrigado pela dica cara, vou dar uma olhada nessa opção! Obrigado mesmo!
Clique aqui para fazer login e interagir na Comunidade :)