Javascript 在引导表中排序货币

Javascript 在引导表中排序货币,javascript,jquery,twitter-bootstrap,sorting,bootstrap-table,Javascript,Jquery,Twitter Bootstrap,Sorting,Bootstrap Table,我想将货币符号添加到我的数字中,同时使该值作为我的引导表中的数字保持可排序(第30-34行;表中第4列): for(var p=0;p检查自定义示例 您需要发送一个数据分拣器函数,从字符串中删除$,然后将其作为数字进行比较。我遇到了类似的问题,最后从他们的实际网站上查看了自定义分拣器示例的源代码: 首先,在定义包含currency/money/dollar值的列时,为您要使用的任何javascript函数添加一个对sorter的引用。以下是我的currency列定义: [ "field"

我想将货币符号添加到我的数字中,同时使该值作为我的引导表中的数字保持可排序(第30-34行;表中第4列):

for(var p=0;p检查自定义示例


您需要发送一个
数据分拣器函数
,从字符串中删除$,然后将其作为数字进行比较。

我遇到了类似的问题,最后从他们的实际网站上查看了自定义分拣器示例的源代码:

首先,在定义包含currency/money/dollar值的列时,为您要使用的任何javascript函数添加一个对sorter的引用。以下是我的currency列定义:

[
    "field" => "total",
    "title" => "Total",
    "sortable" => true,
    "sorter" => "totalCurrencySort"
]
之后,您将需要创建javascript函数,该函数在对特定列进行排序时执行

function totalCurrencySort(a, b, rowA, rowB) {  
    a = +a.substring(1); // remove $
    b = +b.substring(1);
    if (a > b) return 1;
    if (a < b) return -1;
    return 0;
}
函数totalCurrencySort(a,b,rowA,rowB){
a=+a.子字符串(1);//删除$
b=+b.子串(1);
如果(a>b)返回1;
如果(a

要进行适当的比较,请使用“$”根据需要剥离,数值计算确定两个值之间的正确排序状态并相应返回。rowN参考提供了该行的完整数据集,以防您的自定义排序逻辑需要使用该行中的其他数据进行更复杂的计算。

我太新了,无法评论Art的帖子,bu我不想为对我有用的内容添加注释。Art的帖子中的totalCurrencySort函数对我有用。在表头中,我的属性是data sorter(而不仅仅是sorter)

功能总电流分拣机(a、b、rowA、rowB){
a=+a.子字符串(1);//删除$
b=+b.子串(1);
如果(a>b)返回1;
如果(a
对于HTML表,我的标题大致如下:

<thead>
<tr>
<th data-field="id" data-sortable="true">ID</th>
<th data-field="exp_date" data-sortable="true">Date</th>
<th data-field="amount" data-sortable="true" formatter="totalCurrencyFormatter" data-sorter="totalCurrencySorter">Amount</th>
</tr>
</thead>

身份证件
日期
数量

为了补充Art and OptimisticToaster的答案,我也太新了,无法发表评论,所以我对这个问题的看法是:

function totalCurrencySort(a, b, rowA, rowB) {  
    
    a = Number(a.replace(/[^0-9.-]+/g,""));
    b = Number(b.replace(/[^0-9.-]+/g,""));
    
    if (a > b) return 1;
    if (a < b) return -1;
    return 0;
}
函数totalCurrencySort(a,b,rowA,rowB){
a=编号(a.替换(/[^0-9.-]+/g,”);
b=编号(b.替换(/[^0-9.-]+/g,”);
如果(a>b)返回1;
如果(a

我使用的是格式为1000.50英镑的数字,因此剥离任何非数字可以让排序使用数字使用的任何格式。

非常感谢您的回复!我在HTML第34行输入了以下内容:
leasehacker
Estimate
和javascript末尾的
priceSorter
脚本(第246-252行)但是表的排序不正确。你能给我一些关于我可能做错了什么的指示吗?在你提供的最后一个链接中,你的排序在最后2列上起作用,是不是我错了?不幸的是,你引用的链接现在是404。我有一个排序器函数启动,但是缺少关于如何返回内比较值的文档。T这是一个很好的例子,说明了为什么只有链接的答案是不好的。例子应该在答案本身中。请参阅。
<thead>
<tr>
<th data-field="id" data-sortable="true">ID</th>
<th data-field="exp_date" data-sortable="true">Date</th>
<th data-field="amount" data-sortable="true" formatter="totalCurrencyFormatter" data-sorter="totalCurrencySorter">Amount</th>
</tr>
</thead>
function totalCurrencySort(a, b, rowA, rowB) {  
    
    a = Number(a.replace(/[^0-9.-]+/g,""));
    b = Number(b.replace(/[^0-9.-]+/g,""));
    
    if (a > b) return 1;
    if (a < b) return -1;
    return 0;
}