首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将值从一个输入复制到每个函数的第二个输入中。

将值从一个输入复制到每个函数的第二个输入中。
EN

Stack Overflow用户
提问于 2016-12-19 20:37:13
回答 2查看 37关注 0票数 0

我试着把别人输入的内容输入到一个文本中,然后复制到另一个文本中。我能够做到这一点,我的问题是每个功能。这两个输入字段(并排)在一行中重复几次,我需要每一行都有不同的值。你可以从小提琴上看出我的问题。

下面是一些示例代码:

HTML:

代码语言:javascript
运行
复制
<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

代码语言:javascript
运行
复制
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());
        });
    });
});

这里有个小摆设:

https://jsfiddle.net/p37s6k3c/

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-19 20:43:51

这里的问题是只使用选择器$('.input-holder-two input'),使用.val()只会设置匹配的第一个元素的value (因为选择器获得了许多元素)。您可以使用$(this).find()来解决这个问题,就像使用事件处理程序附加事件处理程序来获取所需的元素一样。

您可以使用$(this).find(..)以与附加事件处理程序相同的方式获取这些元素:

代码语言:javascript
运行
复制
$('.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());
    });
});

Fiddle

票数 2
EN

Stack Overflow用户

发布于 2016-12-19 20:46:25

是你的选择器不好。您需要找到同一个.row中的输入。

代码语言:javascript
运行
复制
jQuery(function ($) {
    $(".input-holder-one>input").keyup(function(e){
      var $this = $(this);
      $this.parents(".row").find(".input-holder-two>input").val($this.val());
    });
});
代码语言:javascript
运行
复制
<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>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41230605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档