如何从表单中的所有输入复制自定义属性,然后分配回来?

时间:2016-06-30 10:01:48

标签: javascript jquery

我有一个包含大量输入的表单(文本,选择框,提交等)。表单上有2个按钮,当第一个单击时,我想从所有输入中复制自定义属性,如果单击第二个按钮如果该自定义属性为空(=""),我想要返回这些属性。

我现在所拥有的:

  • 包含数十个#myForm
  • 的表单(inputs
  • 如果输入没有名为.dontcheck的特定类

    ,则取消显示自定义属性的函数
    $(':input','#myForm')
    .not(':button, :submit, :reset, :hidden, .dontcheck')
    .attr("customAttribute","");
    

因此,当点击第一个按钮时,我应该复制所有输入'如果customAttribute没有customAttribute类,请.dontcheck并清除customAttribute。我有干净的部分,但我不知道如何复制,然后将id分配给每个输入,并使用它自己唯一的logged

我是JQuery世界的新手,感谢任何建议或帮助。

1 个答案:

答案 0 :(得分:1)

  var   customAttrList;

 function deleteCustomAttr(){   var elementToDeleteAttr = $(':input','#myForm')
  .not(':button, :submit, :reset, :hidden, .dontcheck');

 customAttrList = {};

  $.each(elementToDeleteAttr, function(index, item){
         customAttrList [item.id] = $(item).attr("customAttribute");//copy attributes and save by Id
         $(item).attr("customAttribute", "");
  });


}
 function returnAttrBack(){
       var elementToBackAttr = $(':input','#myForm')
  .not(':button, :submit, :reset, :hidden, .dontcheck');

 $.each(elementToBackAttr , function(index, item){
         $(item).attr("customAttribute", customAttrList[item.id]);//get attribute by Id

  });

 }