Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

106
Visualizações
Render Helper dinámicamente

Quiero formatear la columna dinámicamente. datatables tiene ayudantes incorporados para lo mismo. El siguiente código funciona:

 render: $.fn.dataTable.render.number( ',', '.', 0)

Pero estoy tratando de formatear después de la creación de la tabla, ya que el formateo depende de la entrada del usuario. El siguiente código no funciona.

 $('#mytable').DataTable().column(2).render.number(',', '.', 0); 

 var oldCurrency = 'usd'; var newCurrency = 'usd'; var myTable = $('#mytable').DataTable({ sDom: 't', columns:[ {data: 'item', title: 'Item'}, {data: 'descr', title: 'Description'}, {data: 'cost', title: 'Cost', render: function(data, type, row){ var exchangeRate = {usd: 1, eur: 0.87, gbp: 0.78}; row.cost = row.cost*exchangeRate[newCurrency]/exchangeRate[oldCurrency]; return row.cost; }} ] }); $('#currency').on('focus', function(){ oldCurrency = this.value; }); $('#currency').on('change', function(){ newCurrency = this.value; myTable.draw(); });
 <!DOCTYPE html> <html> <head> <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> <script src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script> <script src="test.js"></script> <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.19/css/jquery.dataTables.min.css"> </head> <body> <select id="currency"> <option value="usd">USD</option> <option value="eur">EUR</option> <option value="gbp">GBP</option> </select> <table id="mytable"> <thead> <th>Item</th> <th>Description</th> <th>Cost</th> </thead> <tbody> <tr> <td>pen</td> <td>writing tool</td> <td>5.5</td> </tr> <tr> <td>pencil</td> <td>wooden stick</td> <td>4.8</td> </tr> <tr> <td>eraser</td> <td>piece of rubber</td> <td>1.2</td> </tr> </tbody> </table> </body> </html>

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede invalidar las filas para que DataTables vuelva a representar los datos en lugar de dibujar ():

 $('#currency').on('change', function(){ newCurrency = this.value; myTable.rows().invalidate('data').draw(); });
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda