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

好吧,CheckedChecks 只计算一次长度,然后变成静态,直到再次引用长度属性。

所以,如果我对问题的理解是正确的,我认为你应该试试这个。如果我不理解这个问题,请原谅我。

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 回答
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 回答