如何在 Bootstrap 4 模态表单中重置单选按钮和复选框? [复制]

Posted

技术标签:

【中文标题】如何在 Bootstrap 4 模态表单中重置单选按钮和复选框? [复制]【英文标题】:How to reset radio buttons and checkboxes in a Bootstrap 4 modal form? [duplicate] 【发布时间】:2019-01-08 03:12:31 【问题描述】:

实际上我正在使用 Boostrap 4,我想通过 JS 使用下面的函数重置表单中的所有输入。所有文本输入均已正确重置,但radio 按钮组和复选框不会被取消选择。

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

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

【问题讨论】:

我的答案怎么样? ***.com/a/51618515/7733026 【参考方案1】:

改用.prop()

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

【讨论】:

请解释为什么 OP 应该使用 .prop(),并附上一个工作示例。 如果你只有一个链接和一些不完整的代码,查看这个答案的人不太可能得到它的帮助。 James,当我看到一个我可以回答的问题时,我会立即尝试使用第一个答案来抢先获得分数。 (你不觉得有人给你点赞的中间回答很烦人吗?)如果 OP 无法阅读我提供的文档或需要一些说明,我很乐意提供帮助【参考方案2】:

您的代码:

$('#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');

【讨论】:

以上是关于如何在 Bootstrap 4 模态表单中重置单选按钮和复选框? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在引导模式框中重置表单主体?

MVC 4 使用 Bootstrap 编辑模态表单

如何使用 Bootstrap 和 thymeleaf 在模态内部的表单中填充值?

使用 bootstrap + jQuery 重置模态数据

Twitter Bootstrap 模态表单:如何拖放?

模态框的表单怎么重置