2

Javascriptを介してprimefacesラジオボタンを操作しようとしています。

標準のラジオボタンの場合checked、入力要素の属性を変更するだけです。

jQuery(".myselector input")[0].checked = true
jQuery(".myselector input")[0].checked = false

その後、ボタンは初期状態に戻ります(項目は選択されていません)。

Primefacesラジオボタンでは、チェックされた属性を変更しても効果がないようです。click対応するラベルにイベントを生成することで、特定のラジオボタンを選択できます。

jQuery(".mygroup-selector label").get(0).click()

ただし、初期状態に戻す方法、つまりすべての項目の選択を解除する方法を探しています。これはどのように行うことができますか?

4

2 に答える 2

0

試す :

$(".myselector input").prop('checked', false);
// Note that the pre-jQuery 1.6 idiom was
// $(".myselector input").attr('checked', false);
OR
$(".myselector input").removeAttr("checked");
OR
$(".myselector input").val("");
于 2012-08-10T00:19:19.120 に答える
0

私が見つけたこれを行う最善の方法は、基になるchecked属性を操作してから、手動でchangedイベントを発生させることでした。次に、イベント ハンドラーが UI クラスを自動的に更新します。

$(".myselector input").prop("checked", false)
$(".myselector input").change()

ただし、他の変更イベント ハンドラーも実行されるため、状況によっては副作用が生じる可能性があります。

明らかに、Primefaces (またはそれが使用する任意の js コンポーネント) は、これに適切なクライアント側 API を実際に提供する必要があります...

于 2012-08-10T10:43:44.060 に答える