1

我有一个函数可以克隆表单中的一组字段并为它们生成新名称,该函数的一部分是删除克隆但它不想工作的能力。

功能;

$(document).ready(function() {
    var newNum = 2;
    cloneMe = function(el) {
        var newElem = el.clone().attr('id', 'container' + newNum);
        newElem.html(newElem.html().replace(/form\[1\]/g, 'form['+newNum+']'));
        newElem.html(newElem.html().replace(/id="(.*?)"/g, 'id="1'+newNum+'"'));
        $('#cloneb').before(newElem);
        $('#delete_name'+ newNum).html('<p id="rem_field"><a href="#"><span>Delete Line</span></a></p>');
        newNum++;
    };

    $('p#rem_field').live('click', function() {
    $(this).parents('div').remove();
    return false;
});    

});

以及删除按钮所在的 div;

<div id="delete_name"></div>

每个克隆的删除按钮应该是唯一的,我将如何更改它以使其真正起作用。jsFiddle 实时示例http://jsfiddle.net/ZBK2h/1/

4

1 回答 1

1

几乎没有变化...delete_name用作类名

<div class="delete_name"></div>

然后

$(document).ready(function() {
    var newNum = 2;
    cloneMe = function(el) {
        var newElem = el.clone().attr('id', 'container' + newNum);
        $('#cloneb').before(newElem);
        newElem.find('.delete_name').html('<p class="rem_field"><a href="#"><span>Delete Line</span></a></p>');
        newNum++;
    };

    $(document).on('click', '.rem_field', function() {
        $(this).closest('.instance').remove();
        return false;
    });    

});

演示:小提琴

于 2013-10-12T10:39:26.380 回答