2013-09-13 3 views
0

Я использую повторное управление в своем XPage, которое содержит несколько повторяющихся разделов. Заголовки/заголовки этих разделов вычисляются из строки JSON, которая хранится в переменной sessionScope. Пока все работает отлично.XPages: Repeat Control с разделами

Теперь мне нужно развернуть/свернуть один или несколько разделов с помощью кнопки вне регулятора повтора.

Кнопка «знает» заголовок и заголовок раздела, которые должны быть свернуты/расширены. Как я могу получить правильный идентификатор, чтобы использовать что-то вроде:

getComponent("XXXXXXX").setClosed(true); 

Любые идеи?

ответ

2

Вы можете достичь этого на стороне клиента JavaScript. Сначала вам нужно найти идентификатор раздела, который содержит текст заголовка. Для этого вы можете использовать простой dojo.query с селекторами.

var sectionID = dojo.query(".xspSection:contains('<YOUR HEADER TEXT>')")[0].id; 

Это будет поиск по всем разделам вашей страницы с указанным в нем заголовком и возвратом всех узлов. Предполагая, что ваш заголовок уникален, получите первый узел (вот почему [0]) и от него получите идентификатор раздела. Когда у вас есть идентификатор, используйте объект XSP, чтобы показать/скрыть раздел.

XSP.showSection(sectionID, [true|false]); 
Смежные вопросы