ラジオボタンの数が異なるページがあります。これらのボタンには、 と の 2 つの異なるクラスがyes
ありno
ます。ユーザーがページを下っていくときに、ユーザーが選択した各クラスの数を把握し<p>
、ページの下部に表示する必要があります。
ユーザーがラジオ ボタンを 2 回以上クリックすると、変数に 1 が追加されないという問題があります。これが私のコードのJSフィドルです:
なんらかの理由でまったく機能していません。その理由はわかりません。
ラジオボタンの数が異なるページがあります。これらのボタンには、 と の 2 つの異なるクラスがyes
ありno
ます。ユーザーがページを下っていくときに、ユーザーが選択した各クラスの数を把握し<p>
、ページの下部に表示する必要があります。
ユーザーがラジオ ボタンを 2 回以上クリックすると、変数に 1 が追加されないという問題があります。これが私のコードのJSフィドルです:
なんらかの理由でまったく機能していません。その理由はわかりません。
次のことを試してください。
$(document).ready(function() {
$('input:radio').change(function(){
var yes = $('.yes:checked').length
var no = $('.no:checked').length
$('.yes_results').text(yes)
$('.no_results').text(no)
})
});
クリックイベントの代わりに、私が思う変更イベントを使用する必要があります。
$('input:radio').change(function(){
$('.yes_results').text($('input.yes:radio:checked').length)
$('.no_results').text($('input.no:radio:checked').length)
});
注:速度input:radio
のセレクターの上にあるフォームを使用して:radio
、DOMのグローバル検索を回避し、入力要素のみに制限します。
IDを単数形に制限してください:RadioGroup1_1
重複するIDです。
注:私はクラスを使用してカウントしました。プロパティを使用することもできますがchecked
、SOに関する他のパフォーマンス関連の質問/回答に基づいて、クラスはより高速になると思います。
クリックされたときに値をインクリメントするのではなく、カウントを実行します。
$('input.yes:checked').length
$('input.no:checked').length
change イベントを使用して、毎回チェック ボックスの数を確認します。
$(".no,.yes").change(function() {
$('.yes_results').text($('.yes:checked').length);
$('.no_results').text($('.no:checked').length);
});
ここに私がそれを変更するものがあります
$(document).ready(function() {
var nos = 0;
var yeses = 0;
$(".no").click(function() {
if($('.no').is(':checked')) {
nos = nos + 1;
alert(nos);
}
});
$(".yes").click(function() {
if($('.yes').is(':checked')) {
yeses = yeses + 1;
alert(yeses);
}
});
});