引导表自定义搜索

时间:2020-10-15 10:54:10

标签: javascript jquery bootstrap-table

我有一个看起来像这样的自定义搜索,但是如何使用它 在所有列中,而不仅仅是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

    })
  }

1 个答案:

答案 0 :(得分:1)

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

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

    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
  }
  }
})
}

我们遍历行中的所有值,并检查是否有任何适合搜索文本的值。但是请注意,您的数据集也包含您未显示的条目数量。该搜索也将包括在内

// EDIT2:

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
  }
  }
})
}