0

我有这个 jquery tat 我正在使用小提琴(使用它与我的网站一起进行测试)。

$(document).ready( function() {
    var regex = /^(.*)(\d)+$/i;
    var cloneIndex = $(".clonedInput").length;

    $("button.clone").click(function(e){
        $(this).parents(".clonedInput").clone()
            .insertBefore(copy)
            .attr("id", "clonedInput" +  cloneIndex)
            .find("*").each(function() {
                var id = this.id || "";
                var match = id.match(regex) || [];
                if (match.length == 3) {
                    this.id = match[1] + (cloneIndex);
                }
        });
        cloneIndex++;
        return false;
    });

    $("button.remove").click(function(){
        $(this).children(".clonedInput").remove();
    });
});

我遇到的两个问题(可能是由一个问题引起的)是当我删除一个“克隆”字段时,它会删除除父字段之外的所有其他字段,而当我克隆一个字段时,它仅适用于父母并保留原始值...

任何帮助,将不胜感激!

4

1 回答 1

0

正如我在评论中所说,我使用该on方法来实现您想要做的事情。
click方法是该方法的别名bind。该bind方法不是动态的,您将一个事件绑定到一个节点,仅此而已。live和 方法是动态的,delegate它们不仅将事件绑定到节点,而且检查事件和节点是否匹配(我会解释)。
最后,on这里的方法是为了协调这三种方法。这是我所做的:

// On all the <form>s
$('form')
.on(
    // When we click inside the <forms>
    'click',
    // If the clicked element match the selector, so if it has the clone class
    '.clone',
    // We do stuff
    function(){
        // Do stuff
    });

小提琴。_

于 2012-06-27T20:40:03.940 回答