我有一个标识为terms
的复选框,我的表单中有一个提交按钮,其中包含班级registration
。我希望最初禁用提交按钮,然后在用户切换打开和关闭条目时打开和关闭复选框。我还希望在单击提交按钮时弹出确认对话框,如果确认,将再次禁用提交按钮(以防止重复点击)。我已经完成了最后一部分和第一部分工作(我认为),但我无法弄清楚如何让切换工作。这就是我到目前为止所做的:
$(document).ready(function() {
// Disable submit button initially
$('form.registration input[type=submit]').attr('disabled', 'disabled');
// Toggle submit button whenever the terms are accepted or rejected
$('#terms').change(function() {
if($('#terms:checked').val() !== null)
$('input[type=submit]', this).attr('disabled', '');
else
$('input[type=submit]', this).attr('disabled', 'disabled');
});
// Ask for confirmation on submit and disable submit button if ok
$('form.registration').submit(function() {
if(confirm('Have you looked over your registration? Is everything correct?')) {
$('input[type=submit]', this).attr('disabled', 'disabled');
return true;
}
return false;
});
});
有人可以帮我做这项工作吗?我现在是一个完整的JQuery新手,因此欢迎任何简化和修复。
答案 0 :(得分:3)
这部分:
$('#terms').change(function() {
if($('#terms:checked').val() !== null)
$('input[type=submit]', this).attr('disabled', '');
else
$('input[type=submit]', this).attr('disabled', 'disabled');
});
只会在#terms
元素(即, this
部分)中查找提交按钮。
我想这就是你想要的:
$('#terms').change(function() {
$('input[type=submit]').attr('disabled', !$(this).is(':checked'));
});