2013-07-14 3 views
2

#hold 자리 표시 자 div 내에 3 개 미만의 직접 자식 div가있는 경우 클릭시 .add 클래스 기능이있는 버튼 만 허용하는 코드를 작성하려고합니다. theDiv_append는 #hold div 자리 표시 자 내에 div 블록을 추가하는 별도의 함수입니다. #hold 내의 div 수를 계산하고 업데이트하려면 countingdivs 변수를 업데이트하려고하지만 작동하지 않습니다. 현재 추가 버튼이 사용 중지되지 않습니다.클릭 후 javascript/jquery에서 변수를 업데이트하는 방법은 무엇입니까?

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

도움이 될 것입니다. 감사!

+0

이 쉬울 것이다 당신이 경우 변수를 객체로 변환하십시오. 아래 답변으로 문제가 해결되지 않는 경우입니다. –

답변

0

이동 클릭 처리기에 조건의 현재 길이 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