0

これを使用して、チェックされたボックスの数を確認します

    var CheckedChecks = $("input:checkbox:checked").length;

そして、その結果を HTML の長い文字列に配置します。アラートを設定しているので、変数が変化していることがわかります。(HTMLに貼り付けるのに問題がありますが、それは問題ではありません...

    $(".pt-sel:first").append("HTML CRAP"+ CheckedChecks +"MORE HTML CRAP")

すべての html が正常に表示され、チェック ボックスの数の初期値 0 は正しいですが、変数が更新されても更新されません。var と var の表示の両方が同じ {} セット内で発生するため、問題はありません。

これを修正するにはどうすればよいですか?

4

2 に答える 2

0

変数は自動的に更新されません。

テキストを更新するには、すべてのチェックボックスの onchanged イベントにフックする必要があります。

$("input[type=checkbox]").change(function() {
   var CheckedChecks = $("input:checkbox:checked").length;
   //cant use append, so put a div at bottom, and fill this.
   $(".pt-sel:first #myDiv").html("HTML CRAP"+ CheckedChecks +"MORE HTML CRAP")
});

(これは、すべてのチェックボックスに適用することを前提としています。より具体的にする必要がある場合は、チェックボックスにクラスを与えます)

于 2012-06-25T20:37:54.883 に答える
0

CheckedChecks は長さを 1 回だけ計算し、長さプロパティが再度参照されるまで静的になります。

したがって、問題の理解が正しければ、これを試してみるべきだと思います。問題が理解できない場合はご容赦ください。

var CheckedChecks = function(){
 return $('input:checkbox:checked').length;
};

$('.pt-sel:first').append('HTML CRAP'+CheckedChecks()+'MORE HTML CRAP');

あるいは単に

$('.pet-sel:first').append('HTML CRAP'+$('input:checkbox:checked').length+'MORE HTML CRAP');
于 2012-06-25T20:36:33.840 に答える