0

を使った簡単なユースケースがありp:selectOneButtonます。

私は基本的に1つのオプションをchecked = trueにしたいのですが、ユーザーが変更できるようにしています。値を 1 つだけに設定して変更しないというさまざまな組み合わせを試しました。以下の疑似コード:

<p:selectOneButton id="options" value="#{buttonBean.number}">
<f:selectItem default="true" itemLabel="Option 1" itemValue="1" />
<f:selectItem itemLabel="Option 2" itemValue="2" />
<f:selectItem itemLabel="Option 3" itemValue="3" />
</p:selectOneButton>

サーバー側で更新していないので、JavaScriptがうまくいくとは思っていませんでした...

document.getElementById('options:0').checked = true;

乾杯

4

3 に答える 3

0

あなたは試すことができます:

<f:selectItem noSelectionOption="true"/>

または、私がすることは、メソッドで初期化numberするbuttonBean @PostConstructことです:

@PostConstruct
private void postConstruct() {
    number = 1;
}
于 2012-09-19T12:48:39.753 に答える
-1

私はポストコンストラクトの後に私のものを呼び出すので、ゲッターで初期化しました。状況は異なりますので、テストしてください。postconstruct のすべての値を常に初期化するとは限りません。次に、別の setMethod を実行して、ユーザーがリクエストを送信した後に selectOneButton から値を設定できます。私は実際にコードでそれを行っています。

public String getNumber () {
  number = "10"; // default value
  methodThatInitializesDefaults(); // alternatively 
  return number;
}
于 2021-02-09T02:08:22.937 に答える