2014-04-06 53 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