Fórum Pegando valor de INPUT dentro de um foreach com jQuery #590204
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
Curtir tópico
+ 0Post 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
Gostei + 2
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!
Gostei + 2
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);
}
});
Gostei + 1
05/01/2018
Lindoberto Araújo
Gostei + 0
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!
Gostei + 1
Clique aqui para fazer login e interagir na Comunidade :)