我有这段代码:
$(':checkbox[name="privacy"]').click(function() {
if ($(this).is(':checked'))
{
$("label[for='privacy']").css('color','inherit');
$('button[type=submit]').removeAttr('disabled');
$('button[type=submit]').removeClass('btn-danger').addClass('btn-primary');
}
else
{
$("label[for='privacy']").css('color','#B94A48');
$('button[type=submit]').attr('disabled', 'disabled');
$('button[type=submit]').removeClass('btn-primary').addClass('btn-danger');
}
});
这就是形式:
<form role="form" method="post" class="ajax-validation" action="{{ @ABSOLUTE_PATH }}{{ @ALIASES.url_newsletter }}">
<div class="form-group">
<label for="email" class="required-label">Email *</label>
<input class="form-control required-field" name="email" type="text" placeholder="La tua email" />
</div>
<div class="checkbox">
<label for="privacy">
<input type="checkbox" name="privacy" value="1" checked />
<a href="{{ @ABSOLUTE_PATH }}{{ @ALIASES.url_privacy }}">Accettazione privacy</a>
</label>
</div>
<button type="submit" class="btn btn-success btn-block">
<i class="fa fa-at"></i> Iscriviti
</button>
</form>
基本上我只需要禁用相对于包含该复选框的相同表单的按钮(并且最终没有其他插入同一页面)。
我试过
[...]
$(this).next('button[type=submit]').removeAttr('disabled');
[...]
我如何只能以复选框的相同形式获取提交内容?
答案 0 :(得分:3)
答案 1 :(得分:0)
尝试:$('button[type=submit]').attr('disabled', false);
如果你有多个表单,你想从按钮上升DOM以避免干扰其他表单:
$(this).closest('form').find('button[type=submit]').attr('disabled', false);
答案 2 :(得分:0)
$(this).parents("form").find("button[type=submit]").removeAttr('disabled')
以上内容可以仅用于查找您所在表单中的按钮,但它很麻烦。
创建多个表单时,id非常有用