Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

105
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!