2

テーブル内にラジオ ボタンのグループがあり、このテーブル内の他の入力とともに、ID、名前、またはタグ名でラジオ ボタンを取得できません。ID と名前があるため、可能であればタイプで取得したいと考えています。 JSFによって自動生成され、これを変更したくありません。

したがって、要件は次のとおりです。テーブル内のすべてのラジオボタンのみ(すべての入力ではなく)を取得して、それらをループできるようにします。

4

3 に答える 3

4

質問でjQueryについて言及されていないことは知っていますが、その単純さを示したかっただけです。これを「ねえ、jQueryがどれほど素晴らしいか見てください」のセールスポイントと考えてください。

// look how pretty I am
var radioButtons = $('table#MyTableId input[type="radio"]');
于 2012-06-11T10:34:08.377 に答える
4

ラジオボタンが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、グループ内のラジオボタンの配列としてキーと値を使用する辞書を用意することをお勧めします。

于 2012-06-11T10:28:53.723 に答える
0

フォーム名が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のようなフレームワークを使用すると、この方法が簡単になります。

于 2012-06-11T10:29:53.123 に答える