// ai esta a table no codigo html antes de inserir mais linhas
<table id="ne_nota_produtos_entrada_baixa" class="tbl2" border="2">
<tbody>
<tr>
<td>Código</td>
<td>Descrição</td>
<td>Quantidade</td>
<td>Preço Un:</td>
<td>Total item:</td>
</tr>
</tbody>
</table>
//aqui uso uma função do jQuery para inserir mais linhas
$("#ne_nota_produtos_entrada_baixa").append('<tr><td><input readonly="true" value='+codigo+' id = \"ne_pr_codigo\"/></td><td>'+
'<input readonly="true" value='+descricao+' id = \"ne_pr_descricao\"/></td><td>'+
'<input readonly="true" value='+quantidade+' id = \"ne_pr_quantidade\"/></td><td>'+
'<input readonly="true" value='+precouni+' id = \"ne_pr_precouni\"/></td><td>'+
'<input readonly="true" value='+precoTotal+' id = \"ne_pr_precototal\"/></td><tr>');
8 Respostas
Olá Drockx!
Cara, em vez de criar os inputs com ID, cria com CLASS!!!!! ou seja, troca o atributo id por class que vai consegue pegar todos os elementos. quando vc usa id, os inputs das linhas subsequentes não serão resgatados nunca porque o navegador considera apenas o id dos inputs da primeira linha unicamente....
id= identificação unica no objeto, ou seja, não pode existir mais de um elemento html com o mesmo id no mesmo window.document :wink:
com jquery, vc consegue pegar todos os elementos que possuem uma determinada classe, ai eles vêm para vc em forma de array.
$("#ne_nota_produtos_entrada_baixa").append('<tr>'
+'<td><input readonly="true" value="' + codigo + '" class="ne_pr_codigo" /></td>'
+'<td><input readonly="true" value="' + descricao + '" class="ne_pr_descricao" /></td>'
+'<td><input readonly="true" value="' + quantidade + '" class="ne_pr_quantidade" /></td>'
+'<td><input readonly="true" value="' + precouni + '" class="ne_pr_precouni" /></td>'
+'<td><input readonly="true" value="' + precoTotal + '" class="ne_pr_precototal" /></td>'
+'</tr>');
// e depois...
$('.ne_pr_codigo'); //te retorna uma lista de inputs com a classe="ne_pr_codigo"
$('.ne_pr_codigo')[0]; // pega o primeiro elemento input da lista
$('.ne_pr_codigo')[0].value; // pega o valor do primeiro elemento input
$('.ne_pr_codigo').length;//pega a quantidade de elementos input da lista
ai é só fazer o mesmo para os inputs das outras colunas e vc consegue pegar todos eles :D
utiliza um FOR para te ajudar :wink:
Valeu thiagof.
Vou testar aqui e depois posto. Te fala ai cada
Valeu de mais depois posto aqui.
Ai thiagof, não está dando certo da um erro de javascript dizendo que, por exemplo codigo, o da o seguinte erro. cannot ready property ‘codigo’ of undefined ??
Ai valeu ai pela atenção é que to començando agora em java script.
Drockx
sem problemas! javascript é malvado no começo, vc tem o firebug instalado? ele é quem vai nos ajudar a depurar o javascript, se não tem, dá uma olhada aqui para saber o que é: http://getfirebug.com/
para instalá-lo, acesse essa URL com o firefox:
https://addons.mozilla.org/pt-br/firefox/addon/firebug/
ai vc clica no botão verde: Add to Firefox.
o navegador vai ter que ser reinicializado e depois que ele abrir de novo, vc aperta F12 que o firebug vai abrir para vc na parte de baixo do navegador, e na aba Script, vc vai conseguir ver seu script e por breakpoints para depurar o script.
se ja conhece o firebug, desconsidera o que escrevi acima.
proximo passo:
Posta seu script aqui, a parte que vc fez para recuperar os valores da tabela e a parte que vc tenta buscar os valores de volta.
a noite eu posto um exemplo aqui para vc entender melhor como fazer para pegar os valores da tabela sem dar erro, mais se puder postar seu script antes, eu já vejo o que deu errado blz?! 
Puts!!!
saquei agora!!! desconsidera o código lá de cima e considera esse:
var i, linhasDaTabela = new Array();
for( i=0; i < $('.ne_pr_codigo').length; i++ ) {
linhasDaTabela[i] = new Object(); // ESQUECI ESSA LINHA HEHEHE
linhasDaTabela[i].codigo = $('.ne_pr_codigo')[i].value;
linhasDaTabela[i].descricao = $('.ne_pr_descricao')[i].value;
linhasDaTabela[i].quantidade = $('.ne_pr_quantidade')[i].value;
linhasDaTabela[i].precouni = $('.ne_pr_precouni')[i].value;
linhasDaTabela[i].precoTotal = $('.ne_pr_precototal')[i].value;
}
// ai, se vc quiser saber o codigo da linha 10 por exemplo, é só fazer assim:
alert(linhasDaTabela[9].codigo);
Eu esqueci de instanciar um objeto vazio na posição “i” do array (ali na linha 03), por isso que vc recebia aquela msg
foi mal aeee :oops:
vê se funciona agora e me da um aló que a noite eu respondo blz?!
abraço.
beleza vou testar aqui valeu!
Valeu thiagof, é isso mesmo funcionou blz!