2017-02-21 10 views
1

私のページにはボタンとチェックボックス(利用規約)があります。
このチェックボックスがオフになっている場合は、ボタンを無効にする必要があります。チェックボックスの変更がページの読み込み時に発生しない

すべての負荷状況をリセットします。 (最初のロードまたはバックBtnなどを使用して)リセット状態は:チェックボックスはチェックされず、btnはディセーブルです。 しかし、この機能は、ロード時にではなく、チェックボックスをクリックすると呼び出されます。 アップデート:.trigger('change')もテストしました。それはあなたが割り当てる前に、.changeを呼び出している

$(function() { 
 
    $('#termsOfUse').removeAttr('checked'); 
 
    $('#termsOfUse').change(); 
 
    $('#termsOfUse').change(function() { 
 
    if ($(this).is(":checked")) { 
 
     $('#createBtn').prop('disabled', false); 
 
    } else { 
 
     $('#createBtn').prop('disabled', true); 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="row"> 
 
    <input id="termsOfUse" type="checkbox" /> 
 
    <label for="termsOfUse" style="display: inline;"> 
 
        <span><a href="/rules">rules</a></span> I am agree with</label> 
 
</div> 
 
<div class="create"> 
 
    <input id="createBtn" type="button" value="create" class="btn btn-default btn-success" 
 
    onclick="location.href = '@Url.Action("Create","NewOne ")'" /> 
 
</div>

+0

使用 '$(ドキュメント).ready(関数(){YOUR CODE})' –

+1

移動$(」で

<script> $('#termsOfUse').prop('checked',false); $('#termsOfUse').change(function() { $('#createBtn').prop('disabled', !this.checked); }).change(); // execute at load </script> </body> 

を置くことができます#termsOfUse ')。change(); 〜へイベントハンドラの割り当て後 – mplungjan

+1

@amirhoseinahmadi OPは既にそれをしています –

答えて

3

あまりにも仕事をdid't。

$(function() { 
    $('#termsOfUse').prop('checked',false); 
    $('#termsOfUse').change(function() { 
    $('#createBtn').prop('disabled', !this.checked); 
    }).change(); // execute at load 
}); 

はまた、あなたの文書の最後

+0

しかし、なぜ私は戻ってbtnを使用すると動作しません? – Elnaz

+0

更新を参照..... – mplungjan

関連する問題