jQuery克隆,表单值和清空

时间:2012-06-27 19:37:24

标签: jquery

我有这个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();
    });
});

我遇到的两个问题,可能是由一个问题引起的,当我删除其中一个“克隆”字段时,它会删除除父级之外的所有其他字段,当我克隆一个字段时,它只能工作离开父母并保留原始值......

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

正如我在评论中所说,我使用on方法来实现你想要做的事情 click方法是bind方法的别名。 bind方法不是动态,您将事件绑定到节点,这就是全部。 livedelegate方法是动态的,它们不只是将事件绑定到节点,而是检查事件和节点是否匹配(我将解释)。
最后,on方法可以协调这3种方法。这就是我所做的:

// 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
    });

fiddle