2016-12-29 57 views
0

我正在使用下面的代码重置我在特定表单上的所有值。使用jQuery清除表单

 $('#' + frm).closest('form').find("input[type=text], textarea").val(""); 
     $('#' + frm).closest('form').find("input[type=password]").val(""); 
     $('#' + frm).find('input[type=checkbox]:checked').removeAttr('checked'); 
     $('#' + frm + ' input[type="radio"]').prop('checked', false); 

它工作正常进行的情况下95%,但我想重置所有选择框回0的选择指标。如果有更好的或者更有效地做到这整个过程复位所有的元素类型,我打开最好的建议。我需要重新设置表格,因为相同的表格将被同一个人一遍又一遍地使用,以增加工作经历。

感谢输入

+6

'document.querySelector( “形式”)。复位()'? – epascarello

回答

1

你可以使用Form reset() Method

复位()方法重置所有元素的值的形式(同 作为点击复位按钮)。

$('#' + frm).closest('form')[0].reset(); 
+0

有什么特别的,我必须做,当我创建选择值,以便它回到0.重置代码适用于其他所有,但不是选定的值 – user1314159

+0

我有<选项selected =“选择”值=“选择”>选择度,但它永远不会被重置为默认值或索引0 – user1314159

+0

看看这个线程http://stackoverflow.com/questions/16913094/reset-select-value-to-默认 –

1

您可以实现自己的复位形式方法:

jQuery.fn.reset = function(fn) { 
    return fn ? this.bind("reset", fn) : this.trigger("reset"); 
}; 

这将允许您将代码附加到一个复位功能:

jQuery("#form").reset(function(){ 
    /* some other code */ 
}); 

你可以(并且这仍然是推荐的方法)使用简单的类型为reset的HTML输入 - 即使在JavaScript禁用的浏览器上也会这样做。