私はデータテーブルを反復しているフォームを持っています。各行には一連のコンポーネントがあり、そのうちの1つは次のとおりです。
<h:selectOneRadio id="chargeWaive" onclick="alert(this.id);" > <f:selectItem itemLabel="Charge" itemValue="charge" /> <f:selectItem itemLabel="Waive" itemValue="waive" />
</h:selectOneRadio>
2 つの同様の機能をトリガーする 2 つのリンクを追加しました。
<a href="#" onclick="selectAllCharge();">
<h:outputText value="Charge All" />
</a>
<a href="#" onclick="selectAllWaive();">
<h:outputText value="Waive All" />
</a>
そのため、ユーザーがこれらのリンクの 1 つをクリックすると、すべての Charge/Waive ラジオボタンがオンになっている必要があります。
次のコードのいずれかを使用して最初のラジオ ボタン (テスト目的) をチェックしようとしましたが、常に同じエラーが発生します。
$('#frmResults:billingRecordId:0:chargeWaive:0').attr('checked', true); $('#frmResults:billingRecordId:0:chargeWaive:0').attr('checked', 'checked');
$('#frmResults:billingRecordId:0:chargeWaive:0').prop("checked", true);
私が得ているエラーは次のとおりです: Sintax error, unrecognized expression:billingRecordId
コンパイルされた JSF コードを調べると、ラジオタイプに対して生成された ID は次のようになるため、ID が正しいことはわかっています。
<input type="radio" name="frmResults:billingRecordId:0:chargeWaive" id="frmResults:billingRecordId:0:chargeWaive:0" value="charge" onclick="alert(this.id);" /><label for="frmResults:billingRecordId:0:chargeWaive:0"> Charge</label>
<input type="radio" name="frmResults:billingRecordId:0:chargeWaive" id="frmResults:billingRecordId:0:chargeWaive:1" value="waive" onclick="alert(this.id);" /><label for="frmResults:billingRecordId:0:chargeWaive:1"> Waive</label>
したがって、この時点では、ここで何が欠けているのかわかりません。何か案が?