如果这些元素不 <{1}}的一部分,如何使用jquery <INPUT>
重置<TEXTAREA>
和click()
值?
答案 0 :(得分:3)
您可以使用defaultValue
属性重置值,HTMLTextAreaElement
和HTMLInputElement
都支持该属性,默认值是最初在创建这些对象的HTML中指定的值。
$('#reset').on('click', function() {
$('input, textarea').val(function() {
return this.defaultValue;
});
});
如果您只想重置不属于表单元素的输入和textareas的值,可以使用.filter()
方法:
$('#reset').on('click', function() {
$('input, textarea').filter(function() {
return !this.form;
}).val(function() {
return this.defaultValue;
});
});
如果form
属性为null
,则输入/ textarea不是表单元素的后代。
答案 1 :(得分:1)
这有效:
var elements = $('input,textarea');
$('button').click(function () {
elements.each(function () {
if (!this.form) this.value = this.defaultValue;
});
})
答案 2 :(得分:0)
此解决方案将初始值存储在元素的data-oldvalue
属性中。单击“还原”按钮时,它会将值设置回初始值。
有些人指出你应该使用.html()
来设置textarea
的值。我试过这个,但是.val()
没有设置值
$("input").each(function() {
$(this).attr("data-oldvalue", $(this).val());
});
$("textarea").each(function() {
$(this).attr("data-oldvalue", $(this).html());
});
$("button").click(function() {
console.log($(this).attr("data-oldvalue"));
$("input").each(function() {
$(this).val($(this).attr("data-oldvalue"));
});
$("textarea").each(function() {
$(this).val($(this).attr("data-oldvalue"));
});
});
答案 3 :(得分:0)
使用它:
document.getElementById('yourInputID').value = "";
答案 4 :(得分:0)
试试这个:
$('#click').on('click', function() {
$("input[type='text'], textarea").val('');
});
答案 5 :(得分:-1)
试试这个...
$('#btnID').click(function(){
$('#FormID')[0].reset();
});