2016-02-22 81 views
0

我有以下代码更改<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'); 
}); 

回答

1

您需要在班级切换后重新检查计数。此外,由于您的警报说,“选择小于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); 
}); 
+0

谢谢! @mmm。非常感谢 – whatevermike