Javascript函数中的OR子句

时间:2015-09-22 22:42:56

标签: javascript google-fusion-tables

我有一个Javascript函数,可以通过搜索框字段搜索Google Fusion表格列值。我试图让它用OR子句搜索多个列,但不能使它工作。

function changeMap_1() {
  var whereClause;
  var searchString = document.getElementById('search-string_1').value.replace(/'/g, "\\'");
  if (searchString != '--Select--') {
    whereClause = "'Name' CONTAINS IGNORING CASE '" + searchString + "'";
  }
  layer_0.setOptions({
    query: {
      select: "col5",
      from: "1xTAvPva0-iIJo6UAKS1UuERYQTjdYZfvqOlIX_HM",
      where: whereClause
    }
  });
}

这是上面的功能。我有多个“whereClause”值,但其他一切都是相同的。

whereClause = "'Name' CONTAINS IGNORING CASE '" + searchString + "'";

whereClause = "'Address' CONTAINS IGNORING CASE '" + searchString + "'";

whereClause = "'City' CONTAINS IGNORING CASE '" + searchString + "'";

我如何将这些“whereClause”结合起来或者这个或者这个......?

我尝试了以下两种,但它们没有用。

whereClause = "'Name' CONTAINS IGNORING CASE '" || "'City' CONTAINS IGNORING CASE '"  + searchString + "'";

whereClause = "'Name' CONTAINS IGNORING CASE '" + searchString + "'" || "'Name' CONTAINS IGNORING CASE '" + searchString + "'";

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

谢谢大家的提示。我最终将所有列合并到新列中,然后在新列中进行搜索,因为它包含来自所有列的数据。

答案 1 :(得分:0)

在将其作为SQL发送之前,您似乎正在评估OR语句。这可能是问题吗?

类似的东西:

whereClause = "'Name' CONTAINS IGNORING CASE '" + searchString + "' | 'City' CONTAINS IGNORING CASE '" + searchString + "'";

或者喜欢:

whereClause = "'Name' CONTAINS IGNORING CASE '" + searchString + "' OR 'City' CONTAINS IGNORING CASE '" + searchString + "'";

我不熟悉Google Fusion Tables,但看起来他们有SQL查询风格。