1

我正在使用 jQuery 的Masked Input 插件来帮助用户为日期、邮政编码、电话号码等字段输入有效输入。(我还使用Validate来确保除非事情正确并提供提示。)

我的问题是我需要能够克隆一行输入,其中包括那些使用 Masked Input 的输入。通常,jQueryclone(true)将复制任何绑定的事件以及克隆的 DOM 节点,但由于某种原因,这不适用于 Masked Input:单击克隆的输入会​​导致它专注于原始输入。

看到插件作者也有这个问题,但据我所知,还没有解决。

有人有解决方法吗?我想我可以调用unmask()新的输入,然后mask()再次应用原始规则,但我不想硬编码这些规则是什么;我希望它们从原始输入中确定,这样我只需将它们编码在一个地方。

4

1 回答 1

0

使用模板插件 jQuery,基本示例:

JS:

var 
  id = 0,
  addNewItem = function() {

   var 
       itemNew =  $('#template-item').tmpl({id: id};

   id++;

   $(itemNew).find('.input-a').XPlugin(); // applied any plugin

   $(itemNew).appendTo('#myTable tbody');

  };

随时随地使用。或当事件发生时

addNewItem();

编辑和更新问题

问题如下,该插件将元素引用(输入)保存在变量“ var input = $ (this);”中(“jquery.maskedinput-1.2.2.js”的第 85 行),然后将其用于所有事件和函数。当您要克隆元素时,在插件内,指的是第一个元素。因此,无法克隆此插件。

于 2010-12-03T13:49:10.907 回答