我有以下代码可以更改<div>区域并正确显示,但是在变量更改时不会更新。

var count = $('.selection').length;
$('#div').text(count);


据我了解,变量是在代码运行时(在任何.selection更改之前)计算的。我试图将以上内容放入我的点击处理程序(如下),但需要一些帮助以使其正常工作。

$('#tbl td.n').bind('click', function() {
  sb = $('.selection').length;
  if (sb == 10 && !$(this).hasClass('selection')){
    alert("Please select less than 10");
    return;
  };
  $(this).toggleClass('selection n');
});

最佳答案

切换课程后,您需要重新检查计数。另外,正如您的警报说“选择少于10个”一样,我认为您正在寻找类似

if (sb >= 10 && !$(this).hasClass('selection'))



$('#tbl td.n').bind('click', function() {
  sb = $('.selection').length;
  if (sb >= 10 && !$(this).hasClass('selection')){
    alert("Please select less than 10");
    return;
  };
  $(this).toggleClass('selection n');
  count = $('.selection').length;
  $('#div').text(count);
});

关于javascript - 在类更改时更新变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35543995/

10-12 06:49