2010-12-20 5 views
1

확인란을 선택/선택 취소하고 제출 버튼을 활성화/비활성화 할 것으로 예상합니다. Javascript가 실행되면 오류가 표시되지 않지만 제출 입력은 두 번 이상 전환하지 않습니다.체크 박스는 제출 작업을 한 번만 활성화/비활성화합니다. jquery

JS :

$('#readTerms').change(function() { 
    var buttonsChecked = $('#readTerms:checked'); 
    if (buttonsChecked.length) 
    { 
     $('#submitBusiness').removeAttr('disabled'); 
    } 
    else 
    { 
     $('#submitBusiness').attr('disabled', 'disabled'); 
    } 
}); 

HTML :

<input type="checkbox" id="readTerms" name="agree"> <label for="agree">By checking the box you agree to the <a href="/terms" target="_blank">Terms &amp; Conditions</a>.</label> 

<input id="submitBusiness" class="btn positive iconCheck right" type="submit" name="create" value="Submit" disabled="disabled" /> 

버튼이 비활성화 시작 제출합니다. 확인란을 클릭하면 확인란이 다시 선택되고 아무 것도 클릭하지 않습니다. if/else 문이 제대로 작동합니다. 코드가 실행되고, 화재 경보기 등에서 중단 점을 이동합니다.

내가 뭘 잘못하고 있니?

+0

작품; 무슨 브라우저, jquery 버전? try'attr ('disabled', true)' – ysth

답변

2

이 같은 것을보십시오 :

$('#readTerms').change(function() { 
    $('#submitBusiness').attr('disabled', !this.checked); 
}); 

예 : http://jsfiddle.net/redler/TETg6/

2

내가 대신 같은 것을 시도 할 것이다 : 나를 위해

$('#readTerms').click(function() { 
    var buttonsChecked = this.checked; 
    if (buttonsChecked == true){ 
     $('#submitBusiness').removeAttr('disabled'); 
    }else{ 
     $('#submitBusiness').attr('disabled', 'disabled'); 
    } 
}); 
관련 문제