Boa noite, galera.
Blz?
Alguém sabe como fazer para executar um código JS em um campo que foi inserido dinamicamente?
VI na net que poderia incluir o código JS novamente usando o "append" ou usando o atributo "on"
Mas não consegui fazer nenhum dos dois funcionar.
No campo que já está no html o formatPrice já funciona, preciso que quando adicionar o novo campo, ele esteja com o formatPrice funcionando nesse novo campo.
Inserir linha
function AddRow13(tableID){ var i = $('#' + tableID + ' tbody tr').length; var tableRow = '<tr>'; tableRow += '<td><input type="text" name="despesas_n_faturada" id="despesas_n_faturada-' + i + '" class="despesas_n_faturada" placeholder="Despesas ñ faturadas"></td>'; tableRow += '<td><select><option value="diaria">Diária</option><option value="gasolina">Gasolina</option><option value="hospedagem">Hospedagem</option><option value="refeicao">Refeição</option> <option value="refeicao_cliente">Refeição c/ cliente</option><option value="estacionamento">Estacionamento</option><option value="pedagio">Pedágio</option> <option value="taxi">Táxi</option> <option value="quilometragem">Quilometragem</option> <option value="aereo">Aéreo</option> <option value="outros">Outros</option></select></td>'; tableRow += ' <input name="total_despesas_nInline_despesas_n_faturadas" id="total_despesas_nInline_despesas_n_faturadas-' + i + '" type="hidden" class="total_despesas_n" readonly />'; tableRow += ' </div></td>'; tableRow += '<td><button onclick="RemoveTableRow(this)" type="button">Remove</button></td>'; tableRow += '</tr>'; $('#' + tableID + ' tbody').append(tableRow);
Html
<table id="NewInvoiceTable13" class="table table-condensed"> <tr> <td>Despesas não faturadas </td> <td> Classificação </td> </tr> <tr> <td><input type="text" name="despesas_n_faturada" id="despesas_n_faturada-0" class="despesas_n_faturada" placeholder="Desepsas n/Faturadas"></td> <input name="total_despesas_nInline_despesas_n_faturadas" id="total_despesas_nInline_despesas_n_faturadas-0" type="hidden" class="total_despesas_n" readonly /> </td> <td><select> <option value="diaria">Diária</option> <option value="gasolina">Gasolina</option> <option value="hospedagem">Hospedagem</option> <option value="refeicao">Refeição</option> <option value="refeicao_cliente">Refeição c/ cliente</option> <option value="estacionamento">Estacionamento</option> <option value="pedagio">Pedágio</option> <option value="taxi">Táxi</option> <option value="quilometragem">Quilometragem</option> <option value="aereo">Aéreo</option> <option value="outros">Outros</option> </select> </td> <td> <button class="btn" id="NewInvoiceTableAddRow13">+</button> </td> </table>
JS de fomartPrice
<script> $('.despesas_n_faturada').priceFormat({ prefix: 'R$', centsSeparator: '.', thousandsSeparator: '.' }); </script>
Tentei usar o método "on()"
Desse modo
<script> $('.despesas_n_faturada')on({click: function(){ $('.despesas_n_faturada').priceFormat({ prefix: 'R$', centsSeparator: '.', thousandsSeparator: '.' }) }}); </script>