JQuery - 表单重置 - 排除"选择"框

Jak*_*ake 8 javascript forms jquery reset

所有,

我可以使用以下JQuery语法重置所有表单元素:

('#myform')[0].reset();
Run Code Online (Sandbox Code Playgroud)

如何修改此选项以排除重置"选择框"值?

谢谢

Gab*_*oli 10

给大家..

重置功能不会将所有内容设置为''(空字符串)

它重置为初始值..(存储在value属性中,或选择选项等).

如果您想保持默认的重置功能,那么您应该这样做

  1. 获得所有<select>元素
  2. 获取他们当前选择的值
  3. 像你现在一样重置表单
  4. 重新设置所选

例:

<script type="text/javascript">
  $(document).ready(
  function(){
   $("#resetbutton").click(
    function(){
     var values = [];
     var selected = $("select").each(
      function(){
       values.push( $(this).val());
       });
     this.form.reset();
     for (i=0;i<selected.length;i++)
      $(selected[i]).val(values[i]);
    });
    }
  );
 </script>
Run Code Online (Sandbox Code Playgroud)


Dav*_*ing 6

这不是jQuery,它是原生的javascript.[0]显示实际的DOM元素,因此它与:

document.getElementById('myform').reset();
Run Code Online (Sandbox Code Playgroud)

reset()是一个内置的浏览器实现,可以重置整个表单.如果您需要重置单个表单类型,请尝试以下操作:

$('#myform :text').val('');
Run Code Online (Sandbox Code Playgroud)

您可以在此处查看所有表单选择器:http://docs.jquery.com/Selectors