Jquery 复选框触发克隆()

Jquery 复选框触发克隆(),jquery,Jquery,我试图在用户选中一个框时触发clone() 我做了家庭作业,看了看正确的语法(来源:) 当然,问题是我需要修改代码,使其符合我的目的,这里是: $(document).ready(function() { $("#copyAddress").change(function() { $(this).is(":checked") ? $("#userAddress").clone(true).appendTo("#motherAddress"); }); }); 但

我试图在用户选中一个框时触发clone()

我做了家庭作业,看了看正确的语法(来源:)

当然,问题是我需要修改代码,使其符合我的目的,这里是:

$(document).ready(function() {
    $("#copyAddress").change(function() {
        $(this).is(":checked") ? $("#userAddress").clone(true).appendTo("#motherAddress");
    });
});

但它不起作用。已经检查过ID是否真的是ID而不是类。

您可以简单地尝试一下,这几乎是一样的,但可能会奏效

 $(document).ready(function() {
        $("#copyAddress").change(function() {
           if($(this).is(":checked")) {
               $("#userAddress").clone(true).appendTo("#motherAddress");
           }
        });
    });

始终在控制台中查找错误。

元素必须具有唯一的Id。

克隆具有id的元素时,必须先将其删除,然后用新的唯一id替换

$(document).ready(function() {
    $("#copyAddress").change(function() {
        if( $(this).is(":checked") ){
             theId = getRandomArbitrary(100, 1000);
            $("#userAddress").clone().removeAttr('id').attr('id', 'userAddress'+theId ).appendTo("#motherAddress");
        }
    });
});

定义“不起作用”(你得到了什么错误,什么是,或者没有发生…)并发布一个(包括HTML)你确定你不只是想在两个输入中设置相同的值,当有人选中复选框来复制一个地址时,这似乎是更正常的事情?你打算有多少个“母亲地址”?如果用户多次切换复选框该怎么办?你到底想实现什么?一个条件三元运算符需要三个组件,评估和一个“truthy”和“false”,你缺少一个,这应该会产生一个错误。你看过你的控制台了吗?“theId=getrandomArbital(1001000);”为什么要给变量分配100到1000之间的随机数?这背后的意思是什么?我并没有在控制台中得到任何错误,但它根本不做任何事情。我怀疑,因为这段代码不起作用,所以第一段代码也不会运行。因为第一位运行得很好,但一旦我去掉注释标记,它就会停止运行。因此,我尝试了这里的所有建议,但遗憾的是,没有什么对我有效。我只是在您克隆元素时进行了更正,并指出您需要向克隆的元素添加一个新Id。这是必要的,因为Id必须是唯一的。我看不出
#copyAddress
是什么,因为您没有发布任何
html
,因此可能此语句中的代码根本没有运行。@MarkAlexa我没有给变量赋值。我只是给克隆的元素一个新的Id,正如您在这里看到的:
userAddress'+theId
。如上所述,您可能没有具有相同id的元素。如果克隆此元素`$(“#userAddress”).clone()`则将有两个具有此id的元素。