2015-08-28 95 views
0

我從JavaScript值:如何將JavaScript變量傳遞給液體標記?

var customerID = document.getElementById("CustomerID").value; 

現在我想從模塊的數據查詢的名字,姓氏,基於這樣的customerID變量。

{module_data resource="customers" version="v3" fields="id,firstName,lastName,titleType,customerTypeId,ratingTypeId" skip="0" limit="10" order="lastName" collection="selected-data"} 
    {% for item in selected-data.items %} 
    {% if item.id == 10393092%} 
    document.getElementById("CAT_Custom_15").setAttribute("value","{{item.titleType.label}}") ; 
    document.getElementById("CAT_Custom_14").setAttribute("value","{{item.firstName}}");       
    document.getElementById("CAT_Custom_4").setAttribute("value","{{item.lastName}}"); 
    {% endif %} 
    {% endfor %} 

我該如何寫出where條件? 我在上面的代碼中賦予10393092即時值。它工作正常。但我需要分配變量等於item.id(如item.id == customerID)。任何人都可以幫忙非常感謝你

回答

1

你所要求的是不可能的。 Liquid會生成一個靜態頁面,然後存儲在您的Web服務器上。當用戶導航到您的網站時,預生成的頁面會發送給他們。然後其中的JavaScript可能會執行。此時,在Liquid中做任何事情都是不可能的。你應該尋找一個純粹的JavaScript解決方案。

-1

不幸的是,你不能這樣做。原因是液體在服務器端處理和頁面加載時,從服務器中的內容(module_data)已經處理過,之後的DOM元素將你會被提取使用

var customerID = document.getElementById("CustomerID").value; 

從瀏覽器的DOM內容加載導致沒有數據傳遞到液體if else的條件。 目前沒有辦法將JavaScript數據發送到服務器module_data