我有来自JavaScript的值:
var customerID = document.getElementById("CustomerID").value;
现在我希望根据该customerID变量查询模块数据中的firstName,lastName。
{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)。有人可以帮忙吗?非常感谢你
答案 0 :(得分:1)
你要求的是不可能的。 Liquid生成一个静态页面,然后将其存储在Web服务器上。当用户导航到您的站点时,会将预生成的页面发送给他们。然后它中的JavaScript可以执行。此时,在Liquid中无法做任何事情。您应该寻找纯JavaScript解决方案。
答案 1 :(得分:-1)
不幸的是你做不到。原因是在服务器端处理流动,您将使用
从浏览器DOM获取内容var customerID = document.getElementById("CustomerID").value;
当页面加载时,来自服务器的内容(对于module_data
)已经处理,之后DOM元素将加载,导致没有数据传递到流体if else
条件。
目前无法将{j}数据发送到服务器module_data
。