jQuery
我在-表中有两个隐藏列,BootGrid
我不想显示它,但我想在搜索器中通过这两列进行搜索。我该怎么做?我试图添加data-visible="false" data-searchable="true" data-identifier="true"
,但这不起作用。
问问题
752 次
1 回答
1
Bootgrid 目前的工作方式(版本1.3.1),它只搜索可见列,在这里查看它们的源代码:
jquery.bootgrid.js
for (var i = 0; i < that.columns.length; i++)
{
column = that.columns[i];
if (column.searchable && column.visible &&
column.converter.to(row[column.id]).search(searchPattern) > -1)
{
return true;
}
}
在我看来这很奇怪。我认为他们应该默认设置一个在隐藏时不可搜索的列,但如果开发人员明确将其设置为可搜索,它应该是(即使对于隐藏列)。
解决此问题的一种选择是将其更改为:
for (var i = 0; i < that.columns.length; i++)
{
column = that.columns[i];
if (column.searchable && row[column.id])
if(column.converter.to(row[column.id]).search(searchPattern) > -1) {
return true;
}
}
这将使隐藏的列被搜索。如果您有任何其他您真的不想被搜索的隐藏字段,现在您必须显式设置searchable
为 false(通过 html 数据属性或 jquery)。
此外,如果你想使用缩小版,你应该自己缩小它,因为现有的不会有这些变化。此外,如果您或您团队中的某个人决定再次下载该库(例如出于更新或其他原因),请务必小心。
作为奖励,您可能会注意到,当您通过该方法加载值时,我还插入了一个&& row[column.id]
以避免异常。null
append
于 2017-02-23T11:32:10.160 回答