如何以Bootstrap 4模式形式重置单选按钮和复选框?

时间:2018-07-31 16:36:40

标签: javascript jquery bootstrap-4

实际上,我使用的是Boostrap 4,我想使用以下功能通过JS重置表单中的所有输入。所有文本输入均已正确重置,但未取消选择 radio 按钮组和复选框

$('#new_customer')
  .find(':input')
  .not(':button, :submit, :reset, :hidden')
  .val('')
  .removeAttr('checked')
  .removeAttr('selected');
};

我知道原始输入是隐藏的,并且样式是使用::before::after伪元素构建的。但是在文档中,我看不到重置这些控件的可能方法。我该如何实现?

2 个答案:

答案 0 :(得分:1)

改为使用.prop()

weak

答案 1 :(得分:0)

您的代码:

$('#new_customer')
  .find(':input')
  .not(':button, :submit, :reset, :hidden')
  .val('')
  .removeAttr('checked')
  .removeAttr('selected');
};

最后有一个意外的};,它将引发错误。

如果删除它,您的代码可以正常工作。

$('#new_customer')
  .find(':input')
  .not(':button, :submit, :reset, :hidden')
  .val('')
  .removeAttr('checked')
  .removeAttr('selected');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="new_customer">
  <input type="text">
  <input type="text" value="text">
  <input type="checkbox">
  <input type="checkbox" checked>
  <input type="radio">
  <input type="radio" checked>
</div>

jQuery代码的常用格式如下:

$('#new_customer').find(':input').not(':button, :submit, :reset, :hidden').val('').removeAttr('checked').removeAttr('selected');