如何使用octobercms中的选项填充选择框

问题描述 投票:0回答:1

我在控制器中有这个

$this['item'] = Cat::where('parent_id',0)->pluck('cat_title');

这在视野中

 <select id="inputCat" class="form-control">
    <option selected>Choose...</option>

    {% for item in item %}
    <option value={{ item.id }}>{{ item.cat_title }}</option>
    {% endfor %}

  </select>

它在选项中指示但不显示选项。我究竟做错了什么?

php laravel twig octobercms
1个回答
2
投票

我猜你用Cat采摘cat_title所以返回数组将没有idcat_title作为你指的valueoption的关键所以,可能是它引起的问题

这样做,

$this['items'] = Cat::where('parent_id',0)->pluck('cat_title', 'id');
//       ^ plural [ better approach ]      id as well for value  ^

返回数组;

Array[
    1 => 'title'
//  ^ id   ^ your cat_title
    ....
]

这将由pluck()返回,所以你可以看到没有item.id也没有item.cat_title。它的just key and value pair

所以对于标记请使用


<select id="inputCat" class="form-control">
    <option selected>Choose...</option>
    {% for key, item in items %}
        <option value={{ key }}>{{ item }}</option>
    {% endfor %}
</select>

如果你发现问题或者它没有用,请试试这个,请发表评论。

© www.soinside.com 2019 - 2024. All rights reserved.