0

すべてのラジオが選択されているかどうかを検出する必要があるラジオ ボタンを使用してフォームを作成したいと考えています。

関数 .change は非常に簡単です。私の状況では:

    $('input:radio').change(function() {
    alert($('[name|="pyt10"]:checked').val() + " / " + $('[name|="pyt11"]:checked').val() + " / "+ 
})

しかし、ここに小さな問題があります。私は 3 つの無線グループを持っています。最初のラジオを選択すると、アラートが表示され、すべてのフィールドが未定義であることが示され、2 番目のラジオを選択した後、最初のラジオには値がありますが、2 番目はまだ定義されていない、というように表示されます。

つまり、私のアラートは、変更後ではなく、変更前の無線値を示しています。

select の後にラジオの値を書き込むにはどうすればよいですか?

4

5 に答える 5

2

「すべてのラジオが選択されているかどうかを検出する必要がある」という差し迫った問題については、これを使用できます。

var radios = $('input:radio').on("click", function () {
    alert(radios.length === radios.filter(":checked").length);
});

デモ: http://jsfiddle.net/VWrzN/1/

于 2013-05-02T13:45:09.837 に答える
0

JavaScript のアラートだけを見ると、構文エラーが発生しています。これは、末尾に)

以下を試してください

$('input:radio').change(function () {
var $this = $(this);
var group1Val =  $('[name|="pyt10"]:checked').val();
var group2Val =  $('[name|="pyt11"]:checked').val();
var group3Val =  $('[name|="pyt12"]:checked').val();   


$('.output').html(
    'Value of radio button clicked: '+ $this.val() + '<br><br>'
    + 'Value of radio button checked for group 1: '
    + group1Val + ' <br>'
    + 'Value of radio button checked for group 2: '
    + group2Val + ' <br>'
    + 'Value of radio button checked for group 3: '
    + group3Val + ' <br>'
);

//alert($('[name|="pyt10"]:checked').val() + " / " + $('[name|="pyt11"]:checked').val() + " / "+
});

上記のJSFIDDLEは次のとおりです。

于 2013-05-02T14:17:55.150 に答える