Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

cleyton47

Erro na Concatenação Javascript

Recommended Posts

Bom dia pessoal,

Estou tentando concatenar botão em trecho de código de javascript porém está com erro não intendo se alguém poder me ajudar ficarei muito grato!

 

Código do erro:

 $(document).ready(function() {
                $('#frmitem').submit(function() {
                    var $this = $(this);


                    var idproduto = $this.find("input[name='idproduto']").val(),
                            descricao = $this.find("input[name='descricao']").val(),
                            qtde = $this.find("input[name='qtde']").val(),
                            precovenda = $this.find("input[name='precovenda']").val(),
                            vltotal = $this.find("input[name='vltotal']").val();

                             // botao deletar na grid   

                    var tr = '<tr>' +
                            '<td>' + $this.find("input[name='idproduto']").val() + '</td>' +
                            '<td>' + $this.find("input[name='descricao']").val() + '</td>' +
                            '<td>' + $this.find("input[name='qtde']").val() + '</td>' +
                            '<td>' + $this.find("input[name='precovenda']").val() + '</td>' +
                            '<td>' + $this.find("input[name='vltotal']").val() + '</td>' +
                             '<td>' + $this.find("input type="button" value="Delete" onclick="deleteRow(this)").val() + '</td>' +
                            '</tr>';
                          $('#grid').find('tbody').append(tr);


                    var hiddens = '<input type="hidden" name="idproduto[]" value="' + idproduto + '" />' +
                            '<input type="hidden" name="descricao[]" value="' + descricao + '" />' +
                            '<input type="hidden" name="qtde[]" value="' + qtde + '" />' +
                            '<input type="hidden" name="precovenda[]" value="' + precovenda + '" />'+
                            '<input type="hidden" name="vltotal[]" value="' + vltotal + '" />';
                              
                           

Erro:

 

 

erro.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

troca:

 

'<td>' + $this.find("input type="button" value="Delete" onclick="deleteRow(this)").val() + '</td>' +
por

'<td>' + $this.find("input[type='button']").val() + '</td>' +

Compartilhar este post


Link para o post
Compartilhar em outros sites

William Obrigado pela ajuda!

consegui inserir o botão, porém não aparece na grid , teria que utilizar ele para remover um item da grid, na grid aparece "undefined" :upset: :upset:

 

 

Código alterado:

 var tr = '<tr>' +
                            '<td>' + $this.find("input[name='idproduto']").val() + '</td>' +
                            '<td>' + $this.find("input[name='descricao']").val() + '</td>' +
                            '<td>' + $this.find("input[name='qtde']").val() + '</td>' +
                            '<td>' + $this.find("input[name='precovenda']").val() + '</td>' +
                            '<td>' + $this.find("input[name='vltotal']").val() + '</td>' +
                            '<td>' + $this.find("input[type='button']").val() + '</td>' +
                            '</tr>';
                          $('#grid').find('tbody').append(tr);

Como apresenta na tela:

 

indefino.PNG

 

 

Código:

 

novo.PNG

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ahh, nesse caso vc vai usar só string:

 

 

'<td><input type="button" value="Delete" /></td>'
e não, vc não vai usar onclick="".. isso fere a idéia de usar jQuery.

 

Para colocar o evento, use .click() ou .on('click', ..)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.