2011-03-09 7 views
2

페이지가로드 될 때 주문 버튼을 비활성화하고 이용 약관 확인란을 선택할 때 활성화하려고합니다. 페이지가로드 될 때 주문 단추가 비활성화 된 곳에서 작동하지만 확인란을 클릭하면 단추가 활성화되지 않습니다. 여기 내 코드가있다. 누군가가 나에게 문제체크 박스를 클릭 할 때 버튼을 활성화/비활성화 할 필요가 있습니다.

<input type="checkbox" id="checkbox1" name="checkbox1" class="required" />Please read the <a href="#">Terms and Conditions</a> 

JQuery와 코드

var j$ = jQuery.noConflict(); 
j$(document).ready(function(){ 
alert("Hi"); 
if(j$('input[name="checkbox1"]').not(":checked")) 
{ 
    j$('input[name="Order"]').attr('disabled', 'disabled'); 
} 
else 
{ 
    j$('input[name="Order"]').removeAttr('disabled'); 
} 
j$('#checkbox1').change(function(){ 
    if(j$('input[name="checkbox1"]').is(":checked") 
    { 
    j$('input[name="Order"]').attr('disabled', 'disabled'); 
    } 
    else 
    { 
    j$('input[name="Order"]').removeAttr('disabled'); 
    } 
    } 
}); 

감사

Prady

답변

2
제공 한 코드가 일부 ({ 실종, 여기에 제대로 체크 박스 상태를 처리 할 수있는 몇 가지 변화와 업데이트 된 버전입니다했다

: 그것과 jsfiddle 여기

var j$ = jQuery.noConflict(); 
j$(document).ready(function() { 
    var checkbox1 = j$('#checkbox1'); 
    var order = j$('input[name="Order"]'); 

    var verifyChecked = function() { 
     if (checkbox1.is(":checked") === false) { 
      order.attr('disabled', 'disabled'); 
     } else { 
      order.removeAttr('disabled'); 
     } 
    }; 

    verifyChecked(); 

    checkbox1.change(verifyChecked); 
}); 

을하고있다 :

http://jsfiddle.net/7uRf6/4/

2

를 식별 할 수 있습니다 당신은

if(j$('input[name="checkbox1"]').is(":checked") 

이어야 닫는 괄호를 놓친

if(j$('input[name="checkbox1"]').is(":checked")) 

또한이 속성 선택기 대신 ID 선택기를 사용할 수 있습니다. 이 버튼을 활성화하려면

그리고 체크 박스

if(j$('input[name="checkbox1"]').is(":checked") 

그것이

if(j$('input[name="checkbox1"]').not(":checked") 

내가해야한다, 당신이

당신의 change 경우에
if(!j$('input[name="checkbox1"]').is(":checked")) 
1

에이 확인 될 때 그것을 확인하는 함수를 만들 것을 제안합니다.

var j$ = jQuery.noConflict(); 

j$(document).ready(function(){ 
    ToggleButton(); 
    j$('#checkbox1').change(ToggleButton); 
}); 

function ToggleButton() 
{ 
    if(j$('input[name="checkbox1"]').not(":checked")) 
    { 
    j$('input[name="Order"]').attr('disabled', 'disabled'); 
    } 
    else 
    { 
    j$('input[name="Order"]').removeAttr('disabled'); 
    } 
} 
1
<script src="jquery.js"></script> 
<script> 

$(document).ready(function(){ 

    $('#ch').click(

     function(){ 
      if($(this).is(':checked')){ 
       $('#bt').attr('disabled','disabled'); 
      } 
      else { 
       // remove 
       $('#bt').removeAttr('disabled');     
      } 
     } 
    ) 

}) 
</script> 
<input type="button" value="button" id="bt"/> 
<input type="checkbox" id="ch"/> 
관련 문제