2016-02-22 117 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