Javascript 如何使用jquery将输入复制到子输入?

Javascript 如何使用jquery将输入复制到子输入?,javascript,jquery,html,Javascript,Jquery,Html,我想将文本从输入复制到它自己的输入。因为我有很多人在等我 例如:src1至dest1,src2至dest2。src5至dest5 我不想将它们与ID配对,因此我写道: $(文档).ready(函数(){ var$src=$('.src'),//源值 $dst=$src.attr('data-dest');//来自.src-data-dest的目标id $src.on('input',function(){ $dst.val($src.val());//将显示来自.src的文本 }); });

我想将文本从输入复制到它自己的输入。因为我有很多人在等我

例如:
src1
dest1
src2
dest2
src5
dest5

我不想将它们与ID配对,因此我写道:

$(文档).ready(函数(){
var$src=$('.src'),//源值
$dst=$src.attr('data-dest');//来自.src-data-dest的目标id
$src.on('input',function(){
$dst.val($src.val());//将显示来自.src的文本
});
});

Src 1:目的地1:


Src 2:Dest 2:
主要问题是,
$dst
是一个字符串,它保存了
数据
属性中的值,而不是jQuery对象,因此不能对其调用
val()
。要解决此问题,需要在jQuery对象中使用
$dst
值作为id选择器

第二个问题是,您正在从第一个
.src
元素中选择单个数据属性,而不是单击的元素。要解决此问题,您需要在单击处理程序中移动该逻辑,并使用
this
关键字来引用引发
input
事件的元素。试试这个:

$(文档).ready(函数(){
$('.src')。在('input',function()上{
var$src=$(此);
var dst=$src.data('dest');
$('#'+dst).val($src.val());
});
});

Src 1:
目的地1:
Src 2:
目标2:
嗨,请将模糊函数绑定到源输入。 我创建了这个功能

$(document).ready(function() {
  var $src = $('.src');
  $src.on('blur', function() {
   var dest = $(this).attr('data-dest');
    var $dst=$("#"+dest);
    $dst.val($(this).val());
    $dst.attr("data-dest",val);
  });
});

您可以看到一把正在工作的小提琴

您也可以使用
next()
,因此无需为id费心

$(文档).ready(函数(){
$('.src')。在('input',function()上{
设$src=$(此);
$src.next().val($src.val());
});
});

Src 1:
目的地1:
Src 2:
Dest 2:
只需像这样触发:

HTML:


您好@Wilf我注意到您删除了接受的答案-执行上述内容是否有问题?有什么我能帮忙的吗?对不起,我用你的答案在这里运行代码片段并再次测试。它不起作用。你能详细说明什么不起作用吗?如果没有看到你的坏代码,我真的无法帮你调试它。你能检查一下控制台上的错误并告诉我它们是什么吗
Src 1: <input type='text' class='src' data-dest="dest1">
Dest 1: <input type='text' id='dest1' readonly>
<br />
Src 2: <input type='text' class='src' data-dest="dest2">
Dest 2: <input type='text' id='dest2' readonly>
$(document).ready(function() {
  $('.src').on('input', function() {
    $($(this).attr('#' + 'data-dest')).val($(this).val());
  });
});