0

>>フィドル<<

したがって、このフィドルは正常に機能します。異なるname属性を持つ2つのラジオをチェックすると、これらのボタンの値をエコーするテキストが表示されます。

しかし、もっと多くのラジオがある場合はどうなりますか?nameすべての属性に行と変数を追加し続けたくありません。

名前を次のような数字で終わる値に置き換えることができるかもしれないと思いました。

<input type="radio" name="score1" value="0"> 0
<input type="radio" name="score1" value="1"> 1<br/>
<input type="radio" name="score2" value="0"> 0
<input type="radio" name="score2" value="1"> 1<br />
<input type="radio" name="score3" value="0"> 0
<input type="radio" name="score3" value="1"> 1<br/>
<input type="radio" name="score4" value="0"> 0
<input type="radio" name="score4" value="1"> 1

このようにして、名前をループして、すべてのチェック値を見つけることができるはず"input[name='score" + i + "']"です。この場合、自然数です。この値がわかっている場合は、関数でエコーすることができますeach。したがって、使用可能なラジオボタンの数に関係なく、スクリプトは常に機能します(行数が多すぎないようにする必要があります)。

もちろん、これは私の頭の中でこれをどのように見ているかですが、実際にそのようなスクリプトをどのように書くことができるのかわかりません。私は無限の数のループととの使用に精通していませiii

これに関する興味深い記事も大歓迎です!

4

1 に答える 1

0

これはどう:

$( ":radio" ).on( "click", function () {
        var html = ""
        $(':radio :checked').each(function(){
            html += "<span>" + $(this).val() + "</span> - ";
        });
        $( "div#result" ).html(html).show();
});
于 2012-07-30T09:12:23.043 に答える