XForms: удалить триггер в строке таблицы (повторить) - PullRequest
1 голос
/ 31 августа 2011

Я использую повтор XForms для создания таблицы (очень похоже на http://wiki.orbeon.com/forms/doc/developer-guide/xforms-repeat). Каждая строка должна получить триггер удаления, чтобы удалить ее. Следующий код только удаляет выбранный элемент, возможно ли это как-тоиспользовать текущий индекс повторения в качестве значения для at?

<xforms:delete nodeset="employees" at="index('employee-repeat')"/>

Спасибо за помощь!

1 Ответ

3 голосов
/ 01 сентября 2011

Если у вас есть триггер удаления для каждой строки, вам не нужно использовать функцию index().Вместо этого просто обратитесь к текущему узлу, как в:

<xforms:repeat nodeset="employees">
    ...
    <xforms:trigger>
        <xforms:label>Delete</xforms:label>
        <xforms:delete ev:event="DOMActivate" nodeset="."/>
    </xforms:trigger>
</xforms:repeat>

Если у вас был только один триггер для всего повтора (то есть в начале и / или конце таблицы, в которой перечислены сотрудники), тогда выможно использовать index() для обозначения «текущего» сотрудника.Это означает, что пользователям сначала нужно будет щелкнуть где-нибудь на этом сотруднике, чтобы сделать его текущим, а затем нажать на кнопку.Это несколько необычный веб-интерфейс, поэтому я предпочел бы иметь одну кнопку удаления на сотрудника или использовать флажки для пользователей, чтобы выбрать, с какими сотрудниками они хотят действовать.

...