jQuery DataTables 按外部属性过滤

jQuery DataTables filtering by external properties

我有一个数据 table 是从 Backbone 模型的值生成的。但我想根据模型属性而不是 table 中显示的值来实现过滤,因为后者通常是相同属性的人类可读版本,这些属性比原始属性无用或更难处理。

我正在寻找一种有效的方法来将用于生成行(作为对象)的 backbone 模型公开给过滤 API,以便我可以按自定义模型属性进行过滤。

jQuery DataTables使用术语Orthogonal data,这意味着同一个属性可能包含不同的值用于显示、排序、过滤和类型检测。

您可以使用 columns.data 选项来定义哪些 属性 用于显示,哪些用于 filtering/sorting。例如:

"columns": [
    "data": {
        "_": "phone",
        "filter": "phone_filter",
        "display": "phone_display"
    }
]

表示数据属性 phone_filter用于搜索,phone_display用于显示,phone用于所有其他目的(类型检测,排序)。

有关详细信息和演示,请参阅 this example

作为 的补充。
可以像这样使用 data-* 属性:

<td data-search="YourBackboneModelField">human-readable text</td>

documentation here