2

我的模板中有以下下拉列表 -SELECT元素 - 构造:ZPT

<select id="record_selector">
    <option tal:repeat="record view/records" tal:attributes="value record/id">
        <span tal:replace="record/name"></span>
    </option>
</select>

如何OPTION从相应的属性中选择等于 1 的值view(例如,OPTIONtag value== view/currentRecordIdthen make it selected)。

4

2 回答 2

2

使用sdupton的线索,我得到了以下解决方案:

<select id="record_selector">
    <tal:block tal:repeat="record view/records">
        <option tal:condition="python: record['id'] != view.recordId" 
                tal:attributes="value record/id"
                tal:content="record/name">
        </option>
        <option tal:condition="python: record['id'] == view.recordId"
                tal:attributes="value record/id"
                tal:content="record/name"
                selected>
        </option>
    </tal:block>
</select>

TAL条件是真棒:)

于 2013-08-13T10:26:32.463 回答
2

我在这里找到了另一个解决方案:https ://old.zope.org/Members/peterbe/DTML2ZPT/index.html#example14

这仍然适用于 Python 3 上的 Zope 5.3。

<select id="record_selector">
    <option tal:repeat="record view/records"
            tal:attributes="value record/id;
                            selected python: record['id'] ==  view.currentRecordId">
        <span tal:replace="record/name"></span>
    </option>
</select>
于 2021-12-20T16:44:36.573 回答