テーブル内にラジオ ボタンのグループがあり、このテーブル内の他の入力とともに、ID、名前、またはタグ名でラジオ ボタンを取得できません。ID と名前があるため、可能であればタイプで取得したいと考えています。 JSFによって自動生成され、これを変更したくありません。
したがって、要件は次のとおりです。テーブル内のすべてのラジオボタンのみ(すべての入力ではなく)を取得して、それらをループできるようにします。
テーブル内にラジオ ボタンのグループがあり、このテーブル内の他の入力とともに、ID、名前、またはタグ名でラジオ ボタンを取得できません。ID と名前があるため、可能であればタイプで取得したいと考えています。 JSFによって自動生成され、これを変更したくありません。
したがって、要件は次のとおりです。テーブル内のすべてのラジオボタンのみ(すべての入力ではなく)を取得して、それらをループできるようにします。
質問でjQueryについて言及されていないことは知っていますが、その単純さを示したかっただけです。これを「ねえ、jQueryがどれほど素晴らしいか見てください」のセールスポイントと考えてください。
// look how pretty I am
var radioButtons = $('table#MyTableId input[type="radio"]');
ラジオボタンが1セットしかないことを願っています。その場合、次のようなものが役立ちます。
var inputs = yourForm.elements;
var radioes = [];
for (var i = 0; i < inputs.length; ++i) {
if (inputs[i].type == 'radio') {
radioes.push(input[i]);
}
}
ラジオボタンのセットが複数ある場合はname
、グループ内のラジオボタンの配列としてキーと値を使用する辞書を用意することをお勧めします。
フォーム名がyourForm
...(<form name = "yourForm">
)...の場合、簡単な方法は、すべてのフォーム要素を解析し、次のようにタイプを確認することです。
var your_namespace = {};
your_namespace.your_function = function() {
var l = document.yourForm.elements.length;
for (i=0; i<l; i++) {
var type = yourForm.elements[i].type;
if (type=="radio") alert("Form element " + i + " is a radio!");
}
}
警告する代わりに、要素IDを使用して他の多くのことを行うことができます。
MooToolsやJQueryのようなフレームワークを使用すると、この方法が簡単になります。