Bootstrap-表格自定义搜索

问题描述 投票:0回答:1

我有一个看起来像这样的自定义搜索,但我该如何使用它 在所有列中而不仅仅是 colName 列?

https://live.bootstrap-table.com/code/janttila/5112

function customSearch(data, text) {
    return data.filter(function (row) {

        return  row.colName.toLowerCase().replace(/\s/g, "").indexOf(text.toLowerCase().replace(/\s/g, "")) > -1

    })
  }
javascript jquery bootstrap-table
1个回答
2
投票

您可以迭代所有列。但也许提供更多代码来获得有效的解决方案。我不知道你的数据对象到底是什么样子。

//编辑: 关于您的数据结构,该函数将如下所示:

    function customSearch(data, text) {
return data.filter(function (row) {
 
  for (let items of Object.values(row)){
    if (items.toString().toLowerCase().replace(/\s/g, "").indexOf(text.toLowerCase().replace(/\s/g, "")) > -1){
    return true
  }
  }
})
}

我们迭代行中的所有评估值并检查是否有任何适合搜索文本。但请注意,您的数据集还有您未显示的条目数量。这个也将包含在搜索中

//编辑2:

function customSearch(data, text) {
    return data.filter(function (row) {
        searchFor = ["id", "name", "price"]

        for (elem of Object.keys(row)) {
            if (searchFor.indexOf(elem) < 0) {
                delete row[elem]
            }
        }

        for (let items of Object.values(row)) {
            if (items.toString().toLowerCase().replace(/\s/g, "").indexOf(text.toLowerCase().replace(/\s/g, "")) > -1) {
                return true
            }
        }
    })
}
© www.soinside.com 2019 - 2024. All rights reserved.