Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > JSF2.0 + PrimeFaces


Автор: isabsent 22.5.2011, 20:21
На .xhtml - странице есть два элемента h:selectBooleanCheckbox и h:selectOneMenu. Нужно сделать так, чтобы при постановке чека в чекбокс активировался элемент h:selectOneMenu, который изначально находится в disabled-состоянии. Не могу понять можно ли это сделать средствами PrimeFaces 2.2.1 или нужно тащить сюда что-то типа http://habrahabr.ru/blogs/java/36927/ Может есть еще какие-то возможности? Подтолкните в правильном направлении, плз...

Автор: En_t_end 22.5.2011, 22:33
PrimeFaces поддерживает AJAX. Но здесь, по моему, можно обойтись и без него (без AJAX).

Автор: isabsent 23.5.2011, 13:57
Нашёл как это сделать через поддержку AJAX в Primefaces. А как "можно обойтись и без него"?

Автор: MisterCleric 23.5.2011, 14:09
Привет.
Через JavaScript.
Код

<input type="checkbox" onclick="document.getElementById('selectOneMenuID').disabled = !this.checked"/>

Ну и подадаптировать по JSF

Автор: isabsent 23.5.2011, 15:18
Цитата(MisterCleric @ 23.5.2011,  14:09)
Привет.
Через JavaScript.
Код

<input type="checkbox" onclick="document.getElementById('selectOneMenuID').disabled = !this.checked"/>

Ну и подадаптировать по JSF

Не получается так - пробовал уже. PrimeFaces добавляет к selectOneMenuID некоторую свою комбинацию типа j_idt9:selectOneMenuID, которая заранее неизвестна. Поэтому выцепить по Id нужный элемент не удаётся...

Автор: MisterCleric 23.5.2011, 16:04
должно быть так:
Код

onclick="#{p:component('selectOneMenuID')}.disabled = !this.checked"

Они сделали документацию платной.
Так что не даже здесь не могу ее выложить по нарушению лицензии.
Надо искать в Инете

Автор: isabsent 23.5.2011, 16:11
Спасибо, понял. У меня есть какая-то документация - не уверен, что от версии 2.2.1 (на 411 страницах pdf). В ней сейчас нашёл ваш вариант - не понял сразу когда читал, что это то что надо.

Автор: En_t_end 23.5.2011, 16:45
Цитата(isabsent @ 23.5.2011,  19:18)
Не получается так - пробовал уже. PrimeFaces добавляет к selectOneMenuID некоторую свою комбинацию типа j_idt9:selectOneMenuID, которая заранее неизвестна. Поэтому выцепить по Id нужный элемент не удаётся...

Префикс вначале - это id родительского компонента, который генерируется JSF, чтобы обеспечить уникальность всех id в пределах страницы. Вообщем, что я хотел сказать, это не PrimeFaces issue, читайте доки по JSF.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)