我的页面中有一个按钮和复选框(使用条款) 如果未选中该复选框,则应禁用该按钮。
我想在每次加载时重置情况。 (首先加载或使用后退btn等)复位状态为:不应选中复选框,并禁用btn。
但是当我单击复选框时调用该函数,而不是在加载时调用。
更新:我也测试了.trigger('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 :(得分:3)
在分配之前,您正在调用.change。
$(function() {
$('#termsOfUse').prop('checked',false);
$('#termsOfUse').change(function() {
$('#createBtn').prop('disabled', !this.checked);
}).change(); // execute at load
});
你也可以把
<script>
$('#termsOfUse').prop('checked',false);
$('#termsOfUse').change(function() {
$('#createBtn').prop('disabled', !this.checked);
}).change(); // execute at load
</script>
</body>
在您的文件末尾