0
私はJSF 1.1を使用していますが、私はice:datatableを持っていて、行がバッキングBeanからフェッチされています。 編集する行を選択するには、その行のラジオボタンがあります。 ラジオボタンを使用して行を選択すると、次のエラーが発生します。私のページでJSF DataTableラジオボタンを使用して1行を選択
radio.name is undefined
<h:selectOneRadio styleClass="none" valueChangeListener="#{bean.setSelectedItem}"
onclick="dataTableSelectOneRadio(this);">
<f:selectItem itemValue="null" />
</h:selectOneRadio>
どれでも私のjavascript関数
function dataTableSelectOneRadio(radio) {
var id = radio.name.substring(radio.name.lastIndexOf(':'));
var el = radio.form.elements;
for (var i = 0; i < el.length; i++) {
if (el[i].name.substring(el[i].name.lastIndexOf(':')) == id) {
el[i].checked = false;
}
}
radio.checked = true;
}
どのように私はこのエラーを解決することができますが、次のように私はJavaScriptを呼び出すのですか?
おかげ
こんにちは、 私はradio.nameをradio.idに置き換えました。しかし今はエラーが発生しています radio.formは定義されていません var elements = radio.form.elements; 申し訳ありません私はhtmlのソースを見て何もできませんでした。 以下は私の変更されたjavascriptです。私のエラーを解決するためにあなたの助けが賢明に必要です。 – user75ponic
ここに私のコードです function dataTableSelectOneRadio(ラジオ){ var id = radio.id.substring(radio.id.lastIndexOf( ':'))); var elements = radio.form.elements; (要素[i] .name.lastIndexOf( ':'))== id){ 要素の場合、{0} [i] .checked = false; } } radio.checked = true; } – user75ponic
次に、IceFacesはラジオボタンにonclickを置くのではなく、他のいくつかの要素に置いています。申し訳ありませんが、私はIceFacesをやっていないので、さらに詳しくお手伝いできません。生成されたHTML出力を読み込み、それに応じてJSコードを変更する必要があります。 – BalusC