2017-08-01 42 views
0

我有我需要使用過濾錶行的功能來過濾表。我可以將其設置爲JS:</p> <pre><code>setFilterString("Filter"); </code></pre> <p>但我有一個問題:如何使用可變

setFilterString("OrderID = 5"); 

,它會過濾掉行,其中的OrderID等於5,但如果我嘗試使用具有這樣的

setFilterString("OrderID = vOrderID"); 

前拍攝的值的變量,我得到錯誤「無效的列名稱'vOrderID'。「 (因爲vOrderID是可變的,而不是一列,我猜)

我在過濾器部分看到過某處輸入類似這樣的東西("OrderID = '" & vOrderID & "'")但它根本沒有任何結果。甚至不會在控制檯中拋出任何錯誤。

+1

非常接近'+'用於concat也就是'(「OrderID ='」+ vOrderID +「'」)' – Satpal

+0

@Satpal已解決。因爲它是一個評論,不能標記爲解決的答案。你介意告訴我我在哪裏可以找到關於這種事情的信息? +在這裏意味着什麼,或者爲什麼它完全是這樣的語法?我想我會在將來也需要這個 – NulisDefo

+0

總是看看[MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript) – Satpal

回答

2

JavaScript假定您只是將一個字符串傳遞給該函數。如果你想使用的變量,你應該試試這個:這取決於你的函數體

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

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

+0

第一個意思是它把5作爲一個字符串,第二個作爲一個數字? – NulisDefo

+1

在這個函數中,當你將一個字符串連接到一個產生一個字符串的變量時,它不會有任何區別。如果你想在你的setFilterString函數中爲vOrderID變量使用一個單獨的參數,那麼它會有所作爲。 – hbulens

1

使用+而不是&setFilterString("OrderID = " + vOrderID)應該工作。

1

用 「+」 來合併字符串:
setFilterString("OrderID = " + vOrderID)

您也可以嘗試使用$ {idvOrderID}裏面的字符串:
setFilterString("OrderID = ${vOrderID}")

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

記住「與」之間的差異

+0

第一個工作,後兩個不要 第二個拋出錯誤: '第0行解析器錯誤,字符10:無效輸入字符「$」。 (「OrderID = {FAILED HERE} $ {vOrderID}」)' 最後一個拋出控制檯: '未捕獲的ReferenceError:未定義sprintf' – NulisDefo

相關問題