Javascript 如何影响原始输入框中的更改?

Javascript 如何影响原始输入框中的更改?,javascript,jquery,html,Javascript,Jquery,Html,我制作了一个输入框,我将这个输入框克隆到一个div,让我们把它们命名为ipbox1和ipbox2,ipbox2是ipbox1的副本,现在我想做的是 我在其中任何一个中输入/更改值,dom.value或$(“#id”).val()应返回更新后的值。但现在它只在ipbox2上运行。 我该怎么办 $(“#ghj”)。单击(函数(){ $(“#abc”).val(“一些文本”); $(“#abc”).clone(true).appendTo(“#粘贴到此处”); }) $(“#abc”).on('c

我制作了一个输入框,我将这个输入框克隆到一个div,让我们把它们命名为ipbox1和ipbox2,ipbox2是ipbox1的副本,现在我想做的是 我在其中任何一个中输入/更改值,dom.value或$(“#id”).val()应返回更新后的值。但现在它只在ipbox2上运行。 我该怎么办

$(“#ghj”)。单击(函数(){
$(“#abc”).val(“一些文本”);
$(“#abc”).clone(true).appendTo(“#粘贴到此处”);
})
$(“#abc”).on('change',function(){
警惕();
})

这是第一个盒子
这是克隆的盒子

克隆
如果您希望能够独立读取其中任何一个的值,请查看此

如果不是,那我一定是偏离正轨了。请添加有关您需要实现的目标的更多详细信息:)

HTML


如果您希望能够独立地读取其中任何一个的值,请查看此

如果不是,那我一定是偏离正轨了。请添加有关您需要实现的目标的更多详细信息:)

HTML


我有你的小提琴:


我有你的小提琴:


不应使用id附加克隆元素,因为这会创建无效标记(两个具有相同id的html元素)。

不应使用id附加克隆元素,因为这会创建无效标记(两个具有相同id的html元素)。

当您执行
$(#id).val()时,您将获得具有该id的第一个元素的值。您能澄清我您到底需要什么吗?您可以在我的答案中检查更新的fiddle以了解您的问题。当您执行
$(#id).val()时,您将获得具有该id的第一个元素的值。您能澄清一下您到底需要什么吗?您可以在我的答案中检查更新的fiddle以解决您的问题。@Christophe您检查了fiddle吗?当然,我确认标记无效(请参见我的答案)。我同意,具有相同id的两个html元素在逻辑上不应使用。但是,从语法上讲,这是可以做到的,而且这个问题属于同一个场景。如果我错了,请纠正我。这是不正确的语法,html规范对此很清楚。@Christophe你检查过小提琴了吗?当然,我确认标记无效(请参阅我的答案)。我同意,具有相同id的两个html元素在逻辑上不应使用。但是,从语法上讲,这是可以做到的,而且这个问题属于同一个场景。如果我错了,请纠正我。这是不正确的语法,html规范对此很清楚。
<input type = "text" class = "abc">This is the first box
<div id = "pastehere">

</div>This is the cloned box
<br><button type = "button" id = "ghj">
Clone
</button>
var initialInput = $(".abc");
$("#ghj").click(function(){
    initialInput.val("Some text");
    initialInput.clone(true).appendTo("#pastehere");
})
$(".abc").on('change',function(ev){
    var targetInput = $(ev.target);
    alert('myValueIs:' + targetInput.val())
});
var initVal = $('#abc').val();

$("#ghj").click(function(){
    $("#abc").val("Some text");
    $("#abc").clone(true).appendTo("#pastehere");
})
$("#abc").on('change',function(){
    alert();
  initVal = $(this).val();
})

$("#get").click(function(){
    alert(initVal);
})