2010-12-20 20 views
1

チェックボックスをオンまたはオフにして、送信ボタンを有効または無効にすることを期待しています。 Javascriptの起動はエラーを表示しませんが、サブミット入力は2回以上切り替えません。チェックボックスは、サブミットを1回のみ有効/無効にします。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'); 
    } 
}); 
関連する問題