2010-12-08 21 views
0

自分のフォームに5つのラジオボタンがあり、1つを選択して続行すると、ユーザーが入力する必要があるフォームが表示されます。今、これらの5つのうち、私はこれらのラジオボタンが私を連れて行く2つのフォームをまだ完成していません。だから私は準備ができていないラジオボタンを無効にしたかった。特定の<h:selectOneRadio>アイテムを無効にする

どのように私はそれを今解決する:ユーザーがフォームを準備していないこれらのラジオボタンのいずれかを選択した場合、 "建設中のページ"と言うが、誰もそれを選択しないように完全に無効にしたい。

答えて

3

f:selectItemsを使用している場合は、SelectItem constructor taking the disabled argumentを使用してください。

public class Bean { 
    private List<SelectItem> selectItems; 

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

    // ... 
} 

それとも、あなたが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" /> 
+0

は、どのように私は私の場合には、それの世話をするのだろうか?自分のラジオボタンがデータベースから表示されます。私はあなたの提案を利用する方法がわかりません – mona

+1

私の答えで述べたように、 'true'か' false'で設定できる余分な 'disabled'引数を取る' SelectItem'コンストラクタを使います。あなたはこのコードを正確に*必要としません。このアイデアを説明するための単なる基本的な例です。適切なコンストラクタを使用している限り、常に動的に生成できます。 – BalusC

関連する問題