使用JQuery数据表,是否有可能将单个列拆分为纯粹为了便于阅读而部分更改的部分?例如,我有一个URL分为域和路径的数据库。我想保留整个路径,但为了便于阅读,我希望路径的每个部分都分成若干列。例如:JQuery Datatable - 将单个单元格拆分为多个列以提高可读性?
DOMAIN | PATH
www.xxx| /p | /rty | |
www.zzz| /o | | |
www.yyy| /yu| /x | /t|
我一直在使用呈现分裂与空间的每个网址试过,但一切都在同一列,相当碍眼之内,这是不太理想的。
编辑只是要清楚,我真的想保持路径作为一个数据输入。我知道这是一个奇怪的选择,但在我的情况下,这是可取的。
编辑代码填写在表格
的Javascript
<script>
$(function() {
$('#ut-table').DataTable({
processing: true,
serverSide: true,
ajax: '{!! url('/all') !!}',
columns: [
{ data: 'frequency'},
{ data: 'occurrences'},
{ data: 'protocol'},
{ data: 'domain'},
{ data: 'path', render: function(data, type, row){
var newchar = ' | ';
return data.split('/').join(newchar);
}
},
],
});
});
HTML
<table class="table table-bordered" id="ut-table">
<thead>
<tr>
<th>frequency</th>
<th>occurrences</th>
<th>protocol</th>
<th>domain</th>
<th>path</th>
</tr>
</thead>
</table>
Laravel Back End
public function all()
{
Debugbar::warning('query fired');
return Datatables::of(
Unknown_Tag::query()
->orderBy('frequency', 'desc')
->groupBy('urlTrimmed')
)->make(true);
}
编辑: 感谢万元Louys他的回答,但是我还有 一个问题。我需要分割我的路径,而不是我的网址。 EX我需要拆分此: “/这/是/我的/路径” 到这一点: 这是我的路 我尝试下面的代码:
<script>
$(function() {
var table = $('#ut-table');
table.dataTable({
processing: true,
serverSide: true,
ajax: '{!! url('/all') !!}',
columns: [
{ data: 'domain'},
{ data: 'path', render: function(data, type, row){
var regexp = /^\/.*?(?=\/|$)/g;
var match = regexp.exec(data);
return match[0];
}
},
{ data: 'path', render: function(data, type, row){
var regexp = /^\/.*?(?=\/|$)/g;
var match = regexp.exec(data);
return match[1];
}
},
],
});
});
然而,由于两个通话对我的正则表达式在不同的范围,只有我的第一场比赛将被返回。任何想法如何解决这个问题,而不必为每次迭代运行一个循环? 其实,这个想法刚刚来到我身边,反正我可以从我的PHP调用编辑JSON来包含分离路径?
显示如何填写数据表数据... –