如何仅在表单中的元素发生更改时启用提交按钮

时间:2013-03-27 15:01:10

标签: jquery html forms

我用以下代码实现了这个:

$(':input[type!="submit"]', form.get(0)).live ('change', function (e) {
    form.find (':submit').removeAttr ('disabled');
});

这非常有效,但是,当用户将元素更改回其原始状态时,仍然会启用提交按钮:

示例:

  • 原始表单已选中复选框 - 将禁用提交按钮
  • 用户取消选中复选框 - 将启用提交按钮
  • 用户再次选中该复选框(返回原始状态) - 仍然启用提交按钮(我希望它再次被禁用)

1 个答案:

答案 0 :(得分:1)

试试这个:

$(document).on('change', 'input[name=cb1]', function () {
    $('input[type=submit]').prop('disabled', $(this).is(':checked'));
});

<强> jsFiddle example

我根据您对.on()的使用情况,使用.live()的事件委托。