如何克隆使用Masked Input插件的输入?

时间:2010-12-03 13:33:48

标签: jquery jquery-plugins clone maskedinput

我正在使用jQuery的Masked Input plugin来帮助用户输入日期,邮政编码,电话号码等字段的有效输入。(我也使用Validate来确保表单不能除非事情正确并提供提示,否则必须提交。)

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

我看到the plugin's author has also had this problem,但据我所知,它还没有解决。

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

1 个答案:

答案 0 :(得分: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行),然后将它用于所有事件和功能。当你想克隆元素时,在插件中引用第一个元素。因此,无法克隆此插件。