2013-07-14 42 views
2

我想編寫一些代碼,只允許帶有.add類功能的按鈕,如果在#hold佔位符div內有少於3個直接的子div, theDiv_append是一個單獨的函數,它在#hold div佔位符內添加一個div塊。我正在嘗試更新countingdivs變量,然後計算並更新#hold內的div數量,但它不起作用。目前,添加按鈕不會被禁用。如何在點擊後更新javascript/jquery中的變量?

var countingdivs = '1'; 
    if(countingdivs <= '2') { 
    $(document).on('click',".add",theDiv_append); 
    countingdivs = $("#hold > div").length; 
    }; 

任何幫助將是偉大的。謝謝!

+0

這將是更容易,如果你把這個變量變成一個對象,這就是如果下面的答案不能解決問題 –

回答

0

移動狀態的click處理程序的當前長度分配countingdivs

$(document).on('click', '.add', theDiv_append); 

function theDiv_append() { 
    var $hold = $('#hold'), 
     len = $hold.children('div').length; 

    if (len <= 2) { 
     // ... 
    } 
} 
+0

這正是我所需要的,完美的作品!非常感謝你。我對這一切仍然陌生,但將條件轉移到處理程序更有意義。再次感謝你!!! – user2581676

0

嘗試:

var countingdivs = 1; 
if(countingdivs <= 2) { 
    $(document).on('click',".add", theDiv_append); 
    countingdivs = $("#hold > div").length; 
} else { 
    $(document).off('click',".add", theDiv_append); 
} 

也許嘗試與#hold > div

var countingdivs = $("#hold > div").length; 
+0

感謝您的回覆,但不是我一直在尋找的東西。 – user2581676

相關問題