Pessoal, tenho esse for abaixo, que quanto coloco a variável (i) nas variáveis, não dá certo! Porém se eu adiciono um valor fixo, por exemplo var Quant = $("#quantidade___" + String(1)).val();
, funciona!
for (var i = 1 ; i < 100 ; i++){
var Quant = $("#quantidade___" + String(i)).val(); //Aba de produtos
$("#QuantProd1").val(Quant);
if($('#QuantProd1').val()==''){
$("#formLote1").hide();//oculto esse form
}else{
$("#formLote1").show();//oculto esse form
var Codigo = $("#codProd___" + String(i)).val();
var Descricao = $("#DescProd___" + String(i)).val();
$("#CodProd1").val(Codigo + ' - ' + Descricao);
}
}
Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.
Olá Quemuel, acho que talvez deva verificar se o campo existe antes de pegar o valor. Tente colocar um if ($(“#quantidade___” + String(i))) antes de pegar a quantidade
Ficaria assim? for (var i = 1 ; i < 100 ; i++){ if ($("#quantidade_" + String(i))){ var Quant = $("#quantidade___" + String(i)).val(); //Aba de produtos $("#QuantProd1").val(Quant); if($('#QuantProd1').val()==''){ $("#formLote1").hide();//oculto esse form }else{ $("#formLote1").show();//oculto esse form var Codigo = $("#codProd___" + String(i)).val(); var Descricao = $("#DescProd___" + String(i)).val(); $("#CodProd1").val(Codigo + ' - ' + Descricao); } } }
Isso, mas com o quantidade com 3 underlines
Você pode usar o jquery e buscar só os campos que começam com o nome quantidade e fazer um each neles, daí não precisa fazer esse for com limite de 100, é também não teria o problema do campo não existir
Opa Quemuel, tente o for assim:
console.log("ANTES FOR");
for (var i = 1 ; i < 100 ; i++){
var Quant = $("#quantidade___" + i).val();
console.log(Quant);
if (Quant) {
$("#formLote1").show();
var Codigo = $("#codProd___" + i).val();
var Descricao = $("#DescProd___" + i).val();
$("#CodProd1").val(Codigo + ' - ' + Descricao);
} else {
$("#formLote1").hide();
}
}
Diogo, a questão é que criei 15 campos fixos no formulários, daí vou pegar o valor da primeira linha e colocar no campo codProd1, o valor da 2º linha no campo codProd2…
Ah sim, e funcionou com o if?
Se você abrir o Developer Tools do chrome (F12), aparece algum erro na aba console dele?
Diogo, anexei uma imagem, Tem um pouquinho de erro rs
No console se eu faço a função $("#quantidade___" + String(i)).val()
, me retorna undefined. Se faço $("#quantidade___" + String(1)).val()
me retorna o valor correto.
Em que momento esse for é executado? Nesse exato momento o que aparece no console? Se pude mostrar como ficou o código também
Diogo, faço no (js), tenho por enquanto duas atividades(inicio e qualidade), daí na fase inicio o usuário informa os valores na tabela, daí quando envia o processo vai para a qualidade(daí já faço o for).
Adicionei, o custom.js em anexo!
Opa, alterei a ultima resposta ali com um novo for. Ele entra no case “lotes” mesmo?
Diogo, adicionei uma nova imagem no console, como fica. As condições não está entendendo a variável i como string
Isso é pq no console o i não existe mesmo. Na verdade você não precisa fazer String(i), só i ele já se acha. Coloque no código aqueles console.log que coloque na resposta ali em cima e confere se ele aparecem no console do Tools
@Diogo, continua a mesma coisa, se estiver com a variável (i) me retorna undefined se coloco o numeral (1), me retorna o valor
Diogo, talvez você consigo me ajudar, para em vez de eu fazer for (var i = 1 ; i < 100 ; i++), eu pegasse o valor de uma coluna ta tabela, talvez algo assim! for (var i = 1 ; i < valorColuna.lenght ; i++)