如何使用twig在使用for in循环构建的列表中默认选择第一个单选按钮?

时间:2014-09-23 04:08:28

标签: javascript jquery symfony twig

我正在使用twig制作带有数据库值的单选按钮列表。它类似于:

{% for usermembershiptype in usermembershiptypes %}
    <div class="ms_type noline">
        <p>{{ usermembershiptype.description}}</p>
        <label class="ms_price ms_odd">${{ usermembershiptype.price }}<span>/year</span><input name="membership-type" type="radio" value="{{ usermembershiptype.id }}"/></label>
        <div class="clearfix"></div>
    </div>
{% endfor %}

我希望默认情况下选择第一个单选按钮,但是当使用for in循环时,我不确定如何引用第一个单选按钮。

有什么建议吗? Javascript和Jquery解决方案也很受欢迎。

1 个答案:

答案 0 :(得分:1)

您可以使用loop.indexif condition之类的

{% for usermembershiptype in usermembershiptypes %}
    <div class="ms_type noline">
        <p>{{ usermembershiptype.description}}</p>
        <label class="ms_price ms_odd">${{ usermembershiptype.price }}<span>/year</span>
            {% if loop.index == 1 %}
                <input name="membership-type" type="radio" value="{{ usermembershiptype.id }}" checked/>
            {% else %}
                <input name="membership-type" type="radio" value="{{ usermembershiptype.id }}"/>
            {% endif %}
        </label>
        <div class="clearfix"></div>
    </div>
{% endfor %}

注意:未经测试


使用loop.first

{% for usermembershiptype in usermembershiptypes %}
    <div class="ms_type noline">
        <p>{{ usermembershiptype.description}}</p>
        <label class="ms_price ms_odd">${{ usermembershiptype.price }}<span>/year</span>
            {% if loop.first %}
                <input name="membership-type" type="radio" value="{{ usermembershiptype.id }}" checked/>
            {% else %}
                <input name="membership-type" type="radio" value="{{ usermembershiptype.id }}"/>
            {% endif %}
        </label>
        <div class="clearfix"></div>
    </div>
{% endfor %}