我用它来检查已检查框的nubmer
var CheckedChecks = $("input:checkbox:checked").length;
然后我将结果放在一长串HTML中。我设置了警报,所以我知道变量正在改变。 (我在html中遇到麻烦,但这并不重要......
$(".pt-sel:first").append("HTML CRAP"+ CheckedChecks +"MORE HTML CRAP")
所有html显示正常,并且复选框的数量的初始值为0是正确的,但它不会随着变量更新而更新。 var的var和display都出现在同一个{}集中,所以这不是问题。
我该如何解决这个问题?
答案 0 :(得分:0)
好吧,CheckedChecks只计算一次长度,然后变为静态,直到再次引用length属性。
所以,如果我理解问题是正确的,我想你应该试试这个。如果我不理解这个问题,请原谅我。
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');
答案 1 :(得分: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")
});
(这假设您要应用于所有复选框。如果您需要更具体,请给复选框一个类)