0

私は jQuery にまったく慣れていません。これは多くの人にとって非常に簡単かもしれないと思いますが、機能させることができないようです。値が増減するようにチェックボックスの数を表示するにはどうすればよいですか。

私は次のことを試しましたが、span タグの番号は 0 のままです: http://jsfiddle.net/yunowork/NTwxc/

ありがとう

4

5 に答える 5

5

changeイベントをリッスンする必要があります。

$('input[type=checkbox]').on('change', function(){
    var number = $('input[type=checkbox]:checked').length;
    $('.totalchecked').text(number);
});

http://jsfiddle.net/NTwxc/7/

valフォーム要素の値の取得/設定、スパン要素などの他の要素、textまたはhtmlメソッドの使用に使用されることに注意してください。

于 2012-09-07T10:14:36.917 に答える
0

チェックされたチェックボックスの数:

$(":checkbox:checked").length

http://api.jquery.com/checked-selector/


編集:あなたのフィドルには、あなたがすでにそれを持っていることがわかります。それは実際には「チェックされたチェックボックスの数を表示する方法」に対する答えなので、そのままにしておきます...

問題は、更新していないことと、チェックされている数を確認していないことです。いずれかの項目がチェックされているときはいつでも、その関数を再実行する必要があります。

$(":checkbox").change(function () {
    // update the span with $(":checkbox:checked").length ...
});
于 2012-09-07T10:13:52.423 に答える
0

.valスパンの設定ではないはずですが・・・.text

また、チェック状態が変化するたびに更新する必要があります。

function calc() {
    $('.totalchecked').text($(':checkbox:checked').length);
}

$(calc);
$(':checkbox').change(calc);

デモ

于 2012-09-07T10:14:23.360 に答える
0

問題:.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 の両方で機能します。

于 2012-09-07T10:15:37.260 に答える
0

ここにいます!

$('input[type="checkbox"]').change(function() {

        $('.totalchecked').empty().text($('input[type="checkbox"]:checked').size());
    });

http://jsfiddle.net/toroncino/PTvG8/

于 2012-09-07T10:18:01.463 に答える