use*_*174 3 javascript jquery datatables
我正在使用最新的jQuery DataTables v1.10.7,我正在尝试将数字解析为以下格式: $239.90 USD
我可以使货币使用此命令:
columns: [
{ data: "Price", render: $.fn.dataTable.render.number(',', '.', 2, '$') },
Run Code Online (Sandbox Code Playgroud)
然而,这是$239.90没有的输出USD
在USD应该从我有一个名为不同的行其他数据来Currency:row['Currency']
我想要做的是这样的事情:
columns: [
{
data: "Price",
render: function (data, type, row) {
var v = $.fn.dataTable.render.number(',', '.', 2, '$');
return data + ' ' + row['Currency'];
}
},
Run Code Online (Sandbox Code Playgroud)
但我不明白如何保持渲染的结果var v,这是行不通的.
使用下面的代码代替列定义.
columns: [
{
data: "Price",
render: function (data, type, row, meta) {
if(type === 'display'){
var abbr = row['Currency'];
var symbol = "";
if(abbr == "USD"){
symbol = "$";
} else if(abbr == "GBP"){
symbol = "£";
} else if(abbr == "EUR"){
symbol = "€";
}
var num = $.fn.dataTable.render.number(',', '.', 2, symbol).display(data);
return num + ' ' + abbr;
} else {
return data;
}
}
},
Run Code Online (Sandbox Code Playgroud)
请参阅下面的示例进行演示.
$(document).ready(function() {
var table = $('#example').DataTable({
'columns': [
null,
null,
null,
null,
null,
{
render: function(data, type, row, meta){
if(type === 'display'){
var abbr = "EUR";
var symbol = "";
if(abbr == "USD"){
symbol = "$";
} else if(abbr == "GBP"){
symbol = "£";
} else if(abbr == "EUR"){
symbol = "€";
}
var num = $.fn.dataTable.render.number(',', '.', 2, symbol).display(data);
return num + ' ' + abbr;
} else {
return data;
}
}
}
]
});
});Run Code Online (Sandbox Code Playgroud)
<link href="http://datatables.net/release-datatables/media/css/jquery.dataTables.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://datatables.net/release-datatables/media/js/jquery.dataTables.js"></script>
<table id="example" class="display" cellspacing="0" width="100%">
<thead>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th>Salary</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th>Salary</th>
</tr>
</tfoot>
<tbody>
<tr>
<td>Tiger Nixon</td>
<td>System Architect</td>
<td>Edinburgh</td>
<td>61</td>
<td>2011/04/25</td>
<td>320800</td>
</tr>
<tr>
<td>Garrett Winters</td>
<td>Accountant</td>
<td>Tokyo</td>
<td>63</td>
<td>2011/07/25</td>
<td>170750</td>
</tr>
<tr>
<td>Ashton Cox</td>
<td>Junior Technical Author</td>
<td>San Francisco</td>
<td>66</td>
<td>2009/01/12</td>
<td>86000</td>
</tr>
</tbody>
</table>Run Code Online (Sandbox Code Playgroud)