Отключить определенные элементы <h: selectOneRadio> - PullRequest
0 голосов
/ 08 декабря 2010

В моей форме есть 5 переключателей, при выборе одного из них и переходе к форме, которую пользователь должен заполнить.Теперь из этих 5 я еще не закончил 2 формы, которые мне дают эти переключатели.Поэтому я хотел отключить переключатели, которые не имеют готовых форм.

Как я решаю это сейчас: если пользователь выбирает одну из этих радиокнопок, которые не имеют готовой формы, он говорит «Страница в разработке», но я хочу полностью отключить их, чтобы никто не выбрал ее.

1 Ответ

3 голосов
/ 08 декабря 2010

Если вы используете f:selectItems, используйте конструктор SelectItem с аргументом disabled .

public class Bean {
    private List<SelectItem> selectItems;

    public Bean() {
        selectItems = new ArrayList<SelectItem>();
        selectItems.add(new SelectItem(1, "Form 1", null, false));
        selectItems.add(new SelectItem(2, "Form 2", null, false));
        selectItems.add(new SelectItem(3, "Form 3", null, false));
        selectItems.add(new SelectItem(4, "Form 4", null, true));
        selectItems.add(new SelectItem(5, "Form 5", null, true));
    }

    // getter for selectItems field ...
}

Или, если вы используете f:selectItem, используйте атрибут itemDisabled.

<f:selectItem itemValue="1" itemLabel="Form 1" itemDisabled="false" />
<f:selectItem itemValue="2" itemLabel="Form 2" itemDisabled="false" />
<f:selectItem itemValue="3" itemLabel="Form 3" itemDisabled="false" />
<f:selectItem itemValue="4" itemLabel="Form 4" itemDisabled="true" />
<f:selectItem itemValue="5" itemLabel="Form 5" itemDisabled="true" />
...