2013-10-26 175 views
1

我想向包含「select2」(plugin)字段的表添加一行。雖然我得到新的行,但新的select2選擇字段不起作用。任何想法爲什麼?無法克隆select2字段

p.s .: html是希臘文,這就是爲什麼我不粘貼它,以避免混淆。我的猜測是它是一個jQuery的問題,但無論如何,如果你需要的HTML讓我知道。

var rowtemplate = $("tr#1").html(); 
function createRow(num){ 
    var ns = "s" + num + "id_"; 
    var numAdd = num + 1; 
    var autoGen = numAdd + 1; 
    var psomi = rowtemplate.replace("_1", "_"+num); 
    $("div.select2-container").remove(); // Remove all select2 elements 
    return '<tr id="'+ num +'" class="troption">' + psomi + '</tr>'; 
} 


$('a[data-role="addrow"]').click(function(event) { 
    event.preventDefault(); 
    var lastTr = $('tr.troption:last'), 
     lastTrid = parseInt(lastTr.attr("id")), 
     newid = lastTrid + 1; 
     newRowHtml = createRow(newid); 
     $('tr#'+lastTrid).after(newRowHtml); 
     // Recreate the select2 divs 
     $(".select2").select2({ 
       allowClear: true 
      }); 
}); 

Firebug的錯誤=未捕獲的異常:爲選擇二沒有定義的查詢功能s2id_autogen3

+1

[Clonned Select2沒有響應]的可能重複(http://stackoverflow.com/questions/17175534/clonned-select2-is-not-responding) –

回答

-1

如果從網頁源代碼複製代碼並粘貼自己的網頁這個錯誤給s2id_autogen3錯誤。

示例我從右鍵單擊源代碼複製此代碼。

錯誤複製的代碼

<div class="form-group"> 
        <label class="control-label col-md-3">Large</label> 
        <div class="col-md-4"> 
         <div class="select2-container form-control input-large select2me" id="islemTipi"> 
          <a href="javascript:void(0)" class="select2-choice select2-default" tabindex="-1"> 
           <span class="select2-chosen" id="select2-chosen-4">Select...</span> 
           <abbr class="select2-search-choice-close"></abbr> 
           <span class="select2-arrow" role="presentation"><b role="presentation"></b></span> 
          </a><label for="s2id_autogen4" class="select2-offscreen"></label><input class="select2-focusser select2-offscreen" type="text" aria-haspopup="true" role="button" aria-labelledby="select2-chosen-4" id="s2id_autogen4"> 
         </div><select class="form-control input-large select2me select2-offscreen" data-placeholder="Select..." tabindex="-1" title=""> 
          <option value=""></option> 
          <option value="AL">Alabama</option> 
          <option value="WY">Wyoming</option> 
         </select> 
         <span class="help-block"> </span> 
        </div> 
       </div> 

這是真的 並沒有被解僱選擇2 s2id_autogen3沒有定義迎戰。

   <div class="form-group"> 
        <label class="control-label col-md-3">Large</label> 
        <div class="col-md-4"> 
         <select class="form-control input-large select2me" data-placeholder="Select..."> 
          <option value=""></option> 
          <option value="AL">Alabama</option> 
          <option value="WY">Wyoming</option> 
         </select> 
         <span class="help-block"> 
          .input-large 
         </span> 
        </div> 
       </div> 

我是解決這個問題的方法。