2014-04-06 50 views
0

我试图克隆我的表单事件,但我不能,我创建了标签的脚本,他们正在这样的:JQuery的 - 我不能复制我的表单事件

print 1

而且我创建了一个脚本来复制我的表单,我使用的是JQuery clone(),当我点击重复链接时,它复制了我的表单但不是事件,恢复,我创建的用于写入标签的脚本仅适用于第一种形式,它不适用于克隆形式

Print 2

这里我标签的文本字段

<label>Tags<a class="required_field">*</a></label> 
<div id="wrapbox"> 
<div id="box"> 
<span id="checktags"></span> 
<input type="text" class="to-be-clicked" id="tags" maxlength="230"> 
</div> 
</div> 

为脚本的代码,我创建的脚本

$('#tags').keypress(function(e) { //Check if space was clicked, and create a new tag 
     if(e.which == 32) { 
      var tx = $('#tags').val(); 
      if (tx) { 
      $(this).val('').parent().before('<li class="tags"><span><input type="hidden" value="'+tx+'" name="tags[]" />'+tx+'</span><a style="cursor:pointer;" id="close">[x]</a></li>'); 
       closer(); 
      } 
     } 
    }); 

而我的clone()函数

$(function(){ 

    var template = $('#jb').clone(); 


    var offersCount = 1; 

    window.addoffer = function(){ 

     offersCount++; 

     var offer = template.clone().find(':input').each(function(){ 

      var newId = this.id.substring(0, this.id.length-1) + offersCount; 


      this.name = this.id = newId; // update id and name (assume the same) 

     }).end() 
     .attr('id', 'att' + offersCount) 
     .prependTo('#jb'); 
    } 
    $('.add').click(addoffer); 
}); 
}); 

回答

0

你需要内部的隐藏的文本在您的clone()中设置withDataAndEvents争议点true来克隆事件:.clone(true);

作为对文档所提到的,这个参数是默认false和是:

“A布尔值指示是否事件处理程序应沿着 与元素被复制。对于jQuery 1.4,元数据将被复制为 好。”

+0

我试图把真实的,仍然没有工作:( – user3429726

+0

@ user3429726你能提供的jsfiddle显示它不工作?顺便说一句,ID的需要是独特。 – lifetimes

+0

感谢哥们,现在工作正常! – user3429726