我试着把别人输入的内容输入到一个文本中,然后复制到另一个文本中。我能够做到这一点,我的问题是每个功能。这两个输入字段(并排)在一行中重复几次,我需要每一行都有不同的值。你可以从小提琴上看出我的问题。
下面是一些示例代码:
HTML:
<div class="media">
<div class="row">
<div class="input-holder-one">
<input type="text">
</div>
<div class="input-holder-two">
<input type="text">
</div>
</div>
</div>
<div class="media">
<div class="row">
<div class="input-holder-one">
<input type="text">
</div>
<div class="input-holder-two">
<input type="text">
</div>
</div>
</div>jQuery
jQuery(function ($) {
$('.media .row').each(function(){
$(this).find('.input-holder-one input').on('keyup', function(){
$('.input-holder-two input').val($('.input-holder-one input').val());
});
});
});这里有个小摆设:
发布于 2016-12-19 20:43:51
这里的问题是只使用选择器$('.input-holder-two input'),使用.val()只会设置匹配的第一个元素的value (因为选择器获得了许多元素)。您可以使用$(this).find()来解决这个问题,就像使用事件处理程序附加事件处理程序来获取所需的元素一样。
您可以使用$(this).find(..)以与附加事件处理程序相同的方式获取这些元素:
$('.media .row').each(function(){
var $holderOne = $(this).find('.input-holder-one input');
var $holderTwo = $(this).find('.input-holder-two input');
$holderOne.on('keyup', function(){
$holderTwo.val($holderOne.val());
});
});发布于 2016-12-19 20:46:25
是你的选择器不好。您需要找到同一个.row中的输入。
jQuery(function ($) {
$(".input-holder-one>input").keyup(function(e){
var $this = $(this);
$this.parents(".row").find(".input-holder-two>input").val($this.val());
});
});<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="media">
<div class="row">
<div class="input-holder-one">
<input type="text">
</div>
<div class="input-holder-two">
<input type="text">
</div>
</div>
</div>
<div class="media">
<div class="row">
<div class="input-holder-one">
<input type="text">
</div>
<div class="input-holder-two">
<input type="text">
</div>
</div>
</div>
https://stackoverflow.com/questions/41230605
复制相似问题