删除数据表行分组中的整个html标记

时间:2017-08-15 08:49:32

标签: javascript jquery regex datatable datatables

我有使用datatable行分组的html输出从我的表中获取数据,不幸的是我的表格单元格是这样的:

15.000 <i class="fa fa-caret-square-o-down fa-fw text-red" 
          data-toggle="tooltip" data-placement="right" 
          title="decrease 10.000 "></i>

我希望仅将15000作为输出。如何使用preg_replace执行此操作?

我已尝试/[^\d]/g,但结果为1500010000,因此会删除所有代码并合并数字。

我也试过这个/<i>(.*?)<\/i>/也没用。如何仅使用JavaScript删除它?

所以这是我的行组代码

rowGroup:{
            endRender:function(rows,group){
                var nomor = [];
                for (i = 9; i < 31; i++){
                    nomor.push(i);
                }
                return $('<tr/>')
                    .append( '<td></td>' )
                    .append( '<td colspan="5" class="tdtotal text-right">TOTAL '+group+'</td>' )
                    .append( $.map(nomor, function(value,key){
                        var ttl=rows
                            .data()
                            .pluck(value)
                            .reduce(function(a,b){ 
                                return a + b.replace(/[^\d]/g,'')*1;
                            },0);   
                        return $( '<td class="bg-aqua disabled color-palette text-right" >'+$.fn.dataTable.render.number('.', ',', 0,).display( Math.abs(ttl) )+'</td>');
                    }))
                    .append( '<td colspan="2" class="bg-aqua disabled color-palette ">&nbsp;</td>' );
            },
            dataSrc: '0'
        }

3 个答案:

答案 0 :(得分:0)

试试正则表达式

/^(\d+).(\d+)(.*\n*)*/g

并替换为(第一组)(第二组)

查看演示here

答案 1 :(得分:0)

为了从输出的开头获取15.000,请尝试以下方法:

/^[\d]+.[\d]+(?=\s+\<i)/g

here它是如何运作的。

答案 2 :(得分:0)

我对你的问题不太清楚。但你可以采取如下输出

var string = '15.000 <i class="fa fa-caret-square-o-down fa-fw text-red" data-toggle="tooltip" data-placement="right" title="decrease 10.000 "></i>';

$('button').click(function(){
alert(string.split(' ')[0]);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>Click</button>