我有这样的代码:
{% set selectedIdItems = "{{ pageTemplate.pageHeader.pageValue.comp1X }}"|split('|') %}
<select name="comp1" id="comp1" multiple>
<option value=""></option>
{% for dataValue in pageTemplate.pageHeader.pageValue.categoryArray %}
<option value="{{ dataValue.id }}">{{ dataValue.name }}</option>
{% endfor %}
</select>
selectedIdItems在原来的形式的值(分割前):| 1 | 2 | 3
在数组“selectedIdItems”我所选择的选项。
如何设置这个在选择? (我想补充一下:选择=在我的选择“选择”)
我怎么能做到吗?
UPDATE
我想这个代码,但它不工作(不加选择的):
<select name="comp1" id="comp1" multiple>
<option value=""></option>
{% for dataValue in pageTemplate.pageHeader.pageValue.categoryArray %}
<option {% if dataValue.id in selectedIdItems %} selected="selected" {% endif %} value="{{ dataValue.id }}">{{ dataValue.name }}</option>
{% endfor %}
</select>
正如你已经是twig
语句中你不需要使用{{ ... }}
。这是用来输出的东西。
{% set selectedIdItems = "{{ pageTemplate.pageHeader.pageValue.comp1X }}"|split('|') %}
此外,通过使用上面的代码片段,您的变量selectedItItems
将持有文字字符串{{ pageTemplate.pageHeader.pageValue.comp1X }}
,作为变量没有得到在twig
引号之间的插值
更改您的代码
{% set selectedIdItems = pageTemplate.pageHeader.pageValue.comp1X|split('|') %}