我有一个用 bootstrap-table 制作的表格,并且有一列“状态”,其中一个单元格可以包含多个 html 徽章。
我有一个选择数据过滤器控件,但它无法正常工作。 第一个问题是我在过滤器选择中有 html 内容,如下所示:
我通过添加这样的数据过滤器数据收集器解决了第一个问题:
<th data-field="status" data-filter-control="select" data-align="center" data-filter-data-collector="tableFilterStripHtml">Status</th>
这里是tableFilterStripHtml的js代码:
window.tableFilterStripHtml = function (value) {
return value.replace(/<[^>]+>/g, '').trim();
}
现在过滤器仍然无法正常工作。问题是我在过滤器的多行选择中具有相同的数据。对于一行,我应该有一个数据,而不是多个。 看看这个:
如何解决这个问题?
我自己找到了解决方案,这里是js代码:
window.tableFilterStripHtml = function (value) {
var badges = value.match(/<span[^>]*>(.*?)<\/span>/g) || [];
return badges.map(function (badge) {
return badge.replace(/<[^>]+>/g, '').trim();
});
};