2013-05-15 111 views
0

我試圖在克隆div後輸出標題爲組1,組2等等。 但是,當我嘗試設置組名後點擊按鈕,它給了我組1,而我想第一個div是組1,然後第一個克隆事件將內容組2.我已經嘗試了幾種粘貼方法所以,但沒有給出我期待的結果。如何使用克隆克隆後增加div值()

以下是您可以查看的jsfiddle http://jsfiddle.net/shafox/9xXfa/1/

[HTML]

<div class="row-fluid"> 
<div class="container"> 
    <div class=""> 
     <span class="btn btn-primary addstage">Add Stage</span> 
     <select id="selecttype"> 
      <option></option> 
      <option value="1">League</option> 
      <option value="2">Knockout</option> 
     </select> 
     <div class="leaguegrp"> 
      <div class="league"> 

       <div class="groupnum"></div> 

       <span class="btn btn-primary addStage">Add Group</span> 

      </div> 
     </div> 
    </div> 
</div> 

[JS]

 var i = 1; 
$(".groupnum").each(function() { 
    var i = 1; 
    $(this).append("Group", +i); 
    ++i; 
    $(".addStage").click(function(){ 
     var leagueGroup = $(".league").last().clone(); 

     $(".leaguegrp").append(leagueGroup) 
    }); 
}); 


$(".addstage").click(function() { 
    $("#selecttype").show(); 
}); 
$("#selecttype").change(function() { 
    $(".league")[$(this).val() == "1" ? 'show' : 'hide']("fast"); 
}).change(); 
$("#selecttype").change(function() { 
    $(".knockout")[$(this).val() == "2" ? 'show' : 'hide']("fast"); 
}).change(); 
var grp = $(".groupnum").length; 
//$(".groupnum").append("Group"+" "+ grp); 
//console.log("Group"+" "+ grp); 

[CSS]

#selecttype{display: none;} 
+0

哪裏是ID = 「節目-N」 定義的? –

+0

它只是我或做的HTML和JavaScript來自不同的項目? –

+0

我在不同的頁面上工作,我很蠢。我猜想,眼睛昏昏欲睡。這就是爲什麼錯誤的代碼。 –

回答

0

看看這個小提琴:http://jsfiddle.net/9xXfa/2/

這不是最佳的方式來做到這一點,但如果您不想更改代碼的主要部分,只需在添加節點後添加此行即可。

leagueGroup.find('.groupnum').text('Group '+ (leagueGroup.index() + 1)) 

這將根據他在DOM中的索引設置組號。

編輯:

我居然沒看到,你已經有一個保存的變種,所以你可以這樣做,而不是:

leagueGroup.find('.groupnum').text('Group '+ i) 
i++ 
+0

這當然是我想要的方式。如果這不是最佳方式。你能分享一下會是什麼嗎? @ Karl-AndréGagnon –

+0

我編輯了我的答案,因爲我錯過了一些東西,我會盡快發佈另一個評論,並提供一個優化的小提琴。 –

+0

好吧,沒有進入JS對象,這將是最好的未來你的項目(不能確定,因爲我不知道你的整個項目),這(http://jsfiddle.net/9xXfa/3 /)稍好一些(只是一點點),原因有二。 1:每個bouton現在都有事件處理程序,2:您不通過DOM進行導航來克隆。加載時只需導航一次。對不起,如果我不清楚,但我的意思是,性能更好! –