показывать и скрывать портлет при нажатии на ссылку внутри другого портлета - PullRequest
1 голос
/ 02 августа 2011

У меня есть три портлета, например: portletA, portletB и portletC.

portletA отображается слева и имеет две ссылки linkB и linkC.

Если я нажму linkB, то справа будет отображаться portletB, а если я нажму linkC, тогда portletB должен стать скрытым, а portletC - отображаться.

Скажите, пожалуйста, как я могу это сделать, используя ICEfaces .

Ответы [ 2 ]

2 голосов
/ 26 ноября 2012

Я использовал этот код, чтобы скрыть портлет, но после повторного обновления страницы портлет является видимым. Можете ли вы предложить, что я могу сделать, чтобы после обновления портлет не отображался?

1 голос
/ 05 сентября 2011

Вы можете сделать это с помощью простого javascript и css.Что вам нужно сделать, это посмотреть, что такое идентификаторы портлетов B и C, и, используя javascript, вы можете изменить свойство css "display" на границе портлета div.

Используя простой javascript

var p = document.getElementById("p_p_id_YOUR-PORTLET-ID_");
if (p) {
  if (p.style.display == "none") {
    p.style.display = "block";
  } else {
    p.style.display = "none";
  }
}

Использование jQuery

jQuery("p_p_id_YOUR-PORTLET-ID_").show();
//or
jQuery("p_p_id_YOUR-PORTLET-ID_").hide();

Примеры для показа / скрытия одного портлета.В вашем случае ссылка B должна скрывать C и показывать B, а ссылка C наоборот:

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

...