私は jQuery にまったく慣れていません。これは多くの人にとって非常に簡単かもしれないと思いますが、機能させることができないようです。値が増減するようにチェックボックスの数を表示するにはどうすればよいですか。
私は次のことを試しましたが、span タグの番号は 0 のままです: http://jsfiddle.net/yunowork/NTwxc/
ありがとう
私は jQuery にまったく慣れていません。これは多くの人にとって非常に簡単かもしれないと思いますが、機能させることができないようです。値が増減するようにチェックボックスの数を表示するにはどうすればよいですか。
私は次のことを試しましたが、span タグの番号は 0 のままです: http://jsfiddle.net/yunowork/NTwxc/
ありがとう
change
イベントをリッスンする必要があります。
$('input[type=checkbox]').on('change', function(){
var number = $('input[type=checkbox]:checked').length;
$('.totalchecked').text(number);
});
val
フォーム要素の値の取得/設定、スパン要素などの他の要素、text
またはhtml
メソッドの使用に使用されることに注意してください。
チェックされたチェックボックスの数:
$(":checkbox:checked").length
http://api.jquery.com/checked-selector/
編集:あなたのフィドルには、あなたがすでにそれを持っていることがわかります。それは実際には「チェックされたチェックボックスの数を表示する方法」に対する答えなので、そのままにしておきます...
問題は、更新していないことと、チェックされている数を確認していないことです。いずれかの項目がチェックされているときはいつでも、その関数を再実行する必要があります。
$(":checkbox").change(function () {
// update the span with $(":checkbox:checked").length ...
});
.val
スパンの設定ではないはずですが・・・.text
。
また、チェック状態が変化するたびに更新する必要があります。
function calc() {
$('.totalchecked').text($(':checkbox:checked').length);
}
$(calc);
$(':checkbox').change(calc);
問題:.val()
はフォーム要素のみです。要素のコンテンツを設定するには、HTML を挿入する場合は.text()
orを使用します。.html()
2 番目の問題は、イベントを「変更」するためにリスナーを登録する必要があることです。そうしないと、値は更新されません。
更新されたソリューション: http://jsfiddle.net/NTwxc/4/
$("input[type=checkbox]").change(function(){
var number = $('input[type=checkbox]:checked').length;
$(".totalchecked").text(number);
});
ちなみに、個人的にinput[type=checkbox]
は よりも好きです:checkbox
。前者は CSS と jQuery の両方で機能します。
ここにいます!
$('input[type="checkbox"]').change(function() {
$('.totalchecked').empty().text($('input[type="checkbox"]:checked').size());
});