Javascript 如何将值从一个输入框复制到另一个输入框?

Javascript 如何将值从一个输入框复制到另一个输入框?,javascript,jquery,html,Javascript,Jquery,Html,通过单击添加新行按钮,可以生成新的输入框。我想将值从一个输入框(第一列-小时)复制到另一个输入框(第二列-在Office中) 屏幕截图: 第一行:值是静态元素时从一个输入框复制到另一个输入框。这里输入框是由HTML创建的 动态行:值是动态元素时,不会从一个输入框复制到另一个输入框。这里输入框是由JavaScript创建的 问题: 不会复制值,因为元素是使用相同的id和name动态生成的 我的尝试: $(文档).ready(函数(){ $('[data toggle=“tooltip”]')。

通过单击添加新行按钮,可以生成新的输入框。我想将值从一个输入框(第一列-小时)复制到另一个输入框(第二列-在Office中)

屏幕截图:

第一行:值是静态元素时从一个输入框复制到另一个输入框。这里输入框是由HTML创建的

动态行:值是动态元素时,不会从一个输入框复制到另一个输入框。这里输入框是由JavaScript创建的

问题:

不会复制值,因为元素是使用相同的
id
name
动态生成的

我的尝试:

$(文档).ready(函数(){
$('[data toggle=“tooltip”]')。tooltip();
var actions=$(“表td:last child”).html();
//在“添加新”按钮上使用“添加行”窗体追加表单击
$(“.add_new”)。单击(函数(){
var index=$(“表tbody tr:last child”).index();
变量行=“”+
'' +
'' +
'';
$(“表格”)。追加(第行);
$('[data toggle=“tooltip”]')。tooltip();
});
//单击“添加”按钮上的“添加行”
$(文档)。在(“单击“,”.add“,函数()上){
var empty=false;
var input=$(this.parents(“tr”).find('input[type=“text”]”);
input.each(函数(){
if(!$(this.val()){
$(this.addClass(“错误”);
空=真;
}否则{
$(此).removeClass(“错误”);
}
});
$(this.parents(“tr”).find(“.error”).first().focus();
如果(!空){
input.each(函数(){
$(this.parent(“td”).html($(this.val());
});
}
});
});
函数sync(){
var hours=document.getElementById('hours');
var inoffice=document.getElementById('inoffice');
inoffice.value=hours.value;
}

小时
在任

您不应该复制
id
属性,因为它是无效的HTML,并且会导致其他问题。使用
class
属性,而不是按照常见的行为模式对元素进行分组

从那里,您可以使用委托事件处理程序来处理DOM中永远存在的所有
.hours
元素

还要注意,内联事件属性已经过时,应尽可能避免使用

$('table').on('input', '.hours', function() {
  $(this).closest('tr').find('.inoffice').val(this.value);
});
$(文档).ready(函数(){
$('[data toggle=“tooltip”]')。tooltip();
var actions=$(“表td:last child”).html();
$(“.add_new”)。单击(函数(){
var index=$(“表tbody tr:last child”).index();
变量行=“”+
'' +
'' +
'';
$(“表格”)。追加(第行);
$('[data toggle=“tooltip”]')。tooltip();
});
$(文档)。在(“单击“,”.add“,函数()上){
var empty=false;
var input=$(this.parents(“tr”).find('input[type=“text”]”);
input.each(函数(){
if(!$(this.val()){
$(this.addClass(“错误”);
空=真;
}否则{
$(此).removeClass(“错误”);
}
});
$(this.parents(“tr”).find(“.error”).first().focus();
如果(!空){
input.each(函数(){
$(this.parent(“td”).html($(this.val());
});
}
});
$('table')。在('input','hours',function()上{
$(this.closest('tr').find('.inoffice').val(this.value);
});
});

小时
在任
  • 首先创建一个。这意味着删除所有不属于问题的代码。这会让一切变得更清楚
  • 删除ID,因为ID必须是唯一的,所以我们最好改用类
$(文档).ready(函数(){
$(“.add_new”)。单击(函数(){
var index=$(“表tbody tr:last child”).index();
变量行=“”+
'' +
'' +
'';
$(“表格”)。追加(第行);
$('[data toggle=“tooltip”]')。tooltip();
});
});
$(document).on(“keyup”,“.hours”,function()){
$(this.parent().parent().find(“.inoffice”).val(this.value);
});

小时
在任
元素不能共享ID(否则它不是ID)。从那里开始。