我有此代码:
{% 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”中,我已经选择了选项。
如何在select中设置呢? (我想在我的选项中添加:selected =“ selected”)
我该怎么做?
更新
我尝试了此代码,但无法正常工作(请勿添加所选内容):
<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>
答案 0 :(得分:0)
由于您已经在twig
语句中,因此无需使用{{ ... }}
。
那是用来输出东西。
{% set selectedIdItems = "{{ pageTemplate.pageHeader.pageValue.comp1X }}"|split('|') %}
此外,通过使用上面的代码段,变量selectedItItems
将包含文字字符串{{ pageTemplate.pageHeader.pageValue.comp1X }}
,因为变量不会在twig
的引号之间进行插值
将代码更改为
{% set selectedIdItems = pageTemplate.pageHeader.pageValue.comp1X|split('|') %}