2017-05-24 12 views
0

我可以在點擊按鈕時動態創建字段集。假設第一次點擊按鈕,它將創建定義1,然後定義2,然後定義3等。 每個字段集都有X標記,用於刪除動態創建的字段集。 我想要做的是例如定義2 fieldset被刪除然後定義3應該說定義2. 我需要知道的是,當我單擊一個字段集中的X標記時,從下一個字段集中獲取圖例的值並將其更改爲已刪除的值。從點擊後的字段中獲取價值

這裏是我的動態調用看起來像:

if($(".addDef").length > 0){ 
        i++; 
       }else{ 
        i = 2; 
       } 
    $(".definitionBlock").append("<fieldset><legend class='addDef'>Definition #"+ i +"</legend><div class='removeDef'><span>&#10006;</span></div> 
    </fieldset>"); 

謝謝!

回答

0

您可以使用.text(function(index, text){})集合內的元素的指數,以取代.textContent位部分

var n = 2; 
 

 
$(".addDefBtn").on("click", function() { 
 
    if (!$(".addDef").length) { 
 
    n = 2; 
 
    } 
 
    $(".mvnDefinitionBlock").append("<fieldset class='addDef'><legend class='addDefTitle'>Definition #" + n++ + "</legend><div class='removeDef'><span>&#10006;click</span></div></fieldset>"); 
 
}); 
 

 
$('body').on('click', '.removeDef', function() { 
 

 
    $(this).closest('fieldset').remove(); 
 
    n = 2; 
 
    $(".addDef legend").text(function(index, text) { 
 
    return text.replace(/\d+/, n++); 
 
    }); 
 
});
.removeDef { 
 
    float: right; 
 
    margin-top: -20px; 
 
    font-size: 13px; 
 
    color: red; 
 
    cursor: pointer; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> 
 
</script> 
 
<a href="#" class="addDefBtn">Add New Definition</a> 
 
<div class="mvnDefinitionBlock"></div>

+0

有趣,你有傳說中的跨度..,我試圖把這個小提琴在一起..我在這裏做錯了什麼?我已經跨越了傳奇 [小提琴](http://jsfiddle.net/vzxW4/185/) – coder

+0

@coder更新了jQuery版本到3.2.1'$('body')。on('click','。 removeDef',function(){(this).closest('fieldset')。remove(); $(「.addDef legend」).text(function(index,text){ return text.replace(/ \ d + /,index + 1); }); });'http://jsfiddle.net/vzxW4/186/ – guest271314

+0

非常接近謝謝。它只是定義#2(第一個)應該保持爲2,而不是1,如果我刪除定義#3 – coder