Ir para conteúdo

Arquivado

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

xxabxx

Inserir campo dinâmico e executar JS no campo

Recommended Posts

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>

E também com bind()

 

$(function() {
$("[id^=despesas_n_faturada-2]").bind('click', function(){
$(this).priceFormat({prefix: 'R$', centsSeparator: '.', thousandsSeparator: '.'}); }) });
 
</script>
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por juniormatrix
      Olá
       
      Achei esse script aqui no fórum mesmo:
       
      $.validator.addMethod( "customEmail", function (value, element) { return this.optional(element) || /^[\w-\.]+@fulano\.com\.br$/i.test(value); }, "Por favor, insira um e-mail válido com o domínio @fulano.com.br" ); $("#formulario").validate({ ignore: ".ignore", rules: { empresa: { required: true }, nome: { required: true }, contato: { required: true }, celular: { required: true }, email: { required: true, email: true, customEmail: true }, }, }); Testei e funcionou perfeitamente, mas gostaria que liberasse mais e-mails válidos, ao invés de apenas um.

      Tem como fazer? 
       
      Se alguém puder ajudar, fico muito grato.
    • Por Alessandro Bodão
      Salve galerinha, passando pra mostrar pra vocês o novo projeto de marca que a Jatobá Estúdio desenvolveu, espero que gostem.   https://www.behance.net/gallery/166555627/Fernanda-Pinheiro-Nutricionista-Esportiva
    • Por rogerblower
      Boas pessoal, estou precisando de um calendário para agenda com crud para agendamento, mas teria que ser free.
      Obrogado.
    • Por Sapinn
      Fala galera! Tenho um site que possui alguns icones que são puxados da biblioteca flaticon , o problema é que de uma hora pra outra esses icones pararam de aparecer. No meu ambiente local funciona, mas no ambiente de produção eles não aparecem e eu recebo o seguinte erro no console: Failed to load resource: the server responded with a status of 404 () 
       
      Alguém saberia como resolver isso?
    • Por mateus.andriollo
      Carrego um conteudo Ajax e junto com ele vem HTML e JS, existe um marcador que está relacionado a um elemento HTML, quando eu clico e este elemento tem um atributo exemplo data-onload="funcaoOla()" esta função tbm carregada pelo ajax deve ser executada.
       
      Dúvida como eu faço uma chama de função desta forma, seria como exec("funcaoOla")
       
×

Informação importante

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