CakePHP 3.6.14:引导表是按html而不是文本排序的
我正在使用CakePHP 3.6.14:引导表是按html而不是文本排序的,php,html,cakephp,bootstrap-table,Php,Html,Cakephp,Bootstrap Table,我正在使用bootstrap表和cakephp。每个单元格的内容都是一个链接,因此为了显示文本而不是html代码,我在标记中使用了data escape=“false” 但是现在当我尝试排序时,排序并没有像预期的那样工作,因为它根据链接的html代码而不是显示的文本对行进行排序 这是我的桌子: <table class="table responsive" id="table" data-toggle="table" data-search="true" data-filt
bootstrap表和cakephp
。每个单元格的内容都是一个链接,因此为了显示文本而不是html代码,我在
标记中使用了data escape=“false”
但是现在当我尝试排序时,排序并没有像预期的那样工作,因为它根据链接的html代码而不是显示的文本对行进行排序
这是我的桌子:
<table class="table responsive" id="table" data-toggle="table"
data-search="true"
data-filter-control="true"
data-show-export="true"
data-click-to-select="true"
data-toolbar="#toolbar"
data-escape="false">
<thead>
<tr>
<th data-field="name" data-filter-control="input" data-sortable="true" scope="col"><?= __('Title') ?></th>
</tr>
</thead>
<tbody>
<?php foreach ($tasks as $task):?>
<tr>
<td><?= $task->has('name') ? $this->Html->link($task->name, ['controller' => 'Tasks', 'action' => 'edit', $task->id]) : '' ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
您可以使用自己的带有“数据分类器”属性的javascript分类器
<th data-field="name" data-filter-control="input" data-sortable="true" data-sorter="linksSorter" scope="col"><?= __('Title') ?></th>
例如:
function linksSorter(a, b) {
var a = $(a).text();
var b = $(b).text();
if (a < b) return -1;
if (a > b) return 1;
return 0;
}
功能链接器(a、b){
var a=$(a).text();
var b=$(b.text();
如果(ab)返回1;
返回0;
}
您可以使用自己的带有“数据分类器”属性的javascript分类器
<th data-field="name" data-filter-control="input" data-sortable="true" data-sorter="linksSorter" scope="col"><?= __('Title') ?></th>
例如:
function linksSorter(a, b) {
var a = $(a).text();
var b = $(b).text();
if (a < b) return -1;
if (a > b) return 1;
return 0;
}
功能链接器(a、b){
var a=$(a).text();
var b=$(b.text();
如果(ab)返回1;
返回0;
}
你看到了吗?@PHPnoob我需要一些引导表函数,如filter、search等。这就是为什么我使用引导表我的错,我混淆了这两个库你看到了吗?@PHPnoob我需要一些引导表函数,如filter、search等。这就是为什么我使用引导表我的错,我混淆了这两个库