【问题标题】:Select selected items in Twig in the select option在选择选项中选择 Twig 中的选定项目
【发布时间】:2019-06-23 23:16:52
【问题描述】:

我有这个代码:

{% 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>

【问题讨论】:

  • 听起来你想要in 运算符。
  • 我试试这个: - 但它不工作
  • 请将相关代码放在您的问题中,而不是在 cmets 中。此外,“不工作”并不能告诉我们太多。说出正在发生什么,以及它与您想要的有何不同。
  • 好的,我将我的代码添加到帖子中
  • 什么是pickElm1?您将数组定义为 selectedIdItems

标签: php twig


【解决方案1】:

由于您已经在twig 语句中,因此您不需要使用{{ ... }}。 那是用来输出东西的。

{% set selectedIdItems = "{{ pageTemplate.pageHeader.pageValue.comp1X }}"|split('|') %}

此外,通过使用上面的 sn-p,您的变量 selectedItItems 将保存文字字符串 {{ pageTemplate.pageHeader.pageValue.comp1X }},因为变量不会在 twig 中的引号之间插入

将您的代码更改为

{% set selectedIdItems = pageTemplate.pageHeader.pageValue.comp1X|split('|') %}

demo

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-26
    • 2021-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多