JS:如何使用变量过滤表

时间:2017-08-01 12:59:49

标签: javascript jquery

我有一个我需要用来过滤表行的函数:

setFilterString("Filter");

但我有一个问题。我可以把它设置为

setFilterString("OrderID = 5");

并且它将过滤掉OrderID等于5的行,但是如果我尝试使用具有之前取值的变量

setFilterString("OrderID = vOrderID");

我收到错误“无效的列名'vOrderID'。” (因为vOrderID是可变的而不是列,我猜)

我在过滤器部分的某个地方看到输入类似("OrderID = '" & vOrderID & "'")的内容,但它对我来说根本没有任何结果。甚至不会在控制台中抛出任何错误。

3 个答案:

答案 0 :(得分:2)

JavaScript假设您只是将字符串传递给函数。如果你想使用变量,你应该试试这个:

setFilterString("OrderID = '" + vOrderID + "'"); // Results in OrderID = '5'

setFilterString("OrderID = " + vOrderID); // Results in OrderID = 5

取决于你的功能主体。

答案 1 :(得分:1)

使用+代替&setFilterString("OrderID = " + vOrderID)应该有效。

答案 2 :(得分:1)

使用“+”表示合并字符串:
setFilterString("OrderID = " + vOrderID)

您还可以尝试在字符串中使用$ {idvOrderID}:
setFilterString("OrderID = ${vOrderID}")

或者:
setFilterString(sprintf("OrderID = %s", vOrderID))

记住'和'之间的区别