实际上,我使用的是Boostrap 4,我想使用以下功能通过JS重置表单中的所有输入。所有文本输入均已正确重置,但未取消选择 radio 按钮组和复选框。
$('#new_customer')
.find(':input')
.not(':button, :submit, :reset, :hidden')
.val('')
.removeAttr('checked')
.removeAttr('selected');
};
我知道原始输入是隐藏的,并且样式是使用::before
和::after
伪元素构建的。但是在文档中,我看不到重置这些控件的可能方法。我该如何实现?
答案 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');