首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >遍历DOM并将值插入<input/>

问遍历DOM并将值插入<input/>
EN

Stack Overflow用户
提问于 2014-02-07 09:20:16
回答 3查看 72关注 0票数 1

复制粘贴将是大量的代码,下面是一个小提琴

将焦点放在任何输入上,按钮将出现:

代码语言:javascript
复制
$('input').focus(function () {
        var $this = $(this);
       $this.closest('p').after($( ".specialCharactersWrap" ));

    });

然后单击按钮,将按钮的文本插入到输入中:

代码语言:javascript
复制
 $('.specialCharactersWrap button').click(function() {
         var $this = $(this);
    var value = $(this).text();
    var input = $('.FillIn .FillInInput');
    input.val(input.val() + value);
    return false;
});

问题:它将所有输入插入到中。我需要它插入到上的一个单一的(这是重点)。尝试用closest()遍历DOM,但是它不起作用,它失败了,我在这里的尝试失败了,===> 小提琴

如何将按钮文本集中到一个单一的输入中?我做错了什么?谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-07 09:29:49

尝尝这个,

演示

代码语言:javascript
复制
var $that = this // here my change
       $('input').focus(function () {
        var $this = $(this);
           $that = $(this);// here my change
       $this.closest('p').after($( ".specialCharactersWrap" ));
       // alert('test');

    });
     $('.specialCharactersWrap button').click(function() {
         var $this = $(this);
    var value = $(this).text();
    var input = $that;// here my change
    input.val(input.val() + value);
    return false;
});
票数 1
EN

Stack Overflow用户

发布于 2014-02-07 09:26:32

试着改变

代码语言:javascript
复制
var input = $('.FillIn .FillInInput');

至:

代码语言:javascript
复制
var input = $(this).closest('.specialCharactersWrap').prev().find('.FillInInput');

更新Fiddle

票数 1
EN

Stack Overflow用户

发布于 2014-02-07 09:29:20

尝尝这个,

代码语言:javascript
复制
$('input').focus(function () {
        var $this = $(this);
       $this.closest('p').after($( ".specialCharactersWrap" ));
        $('.FillInInput').closest('p').removeClass('focussed');
        $this.closest('p').addClass('focussed');
       // alert('test');

    });
     $('.specialCharactersWrap button').click(function() {
         var $this = $(this);
    var value = $(this).text();
    var input = $('.FillIn').find('.focussed').find('.FillInInput');

    input.val(input.val() + value);
    return false;
});

我在输入焦点上添加了一个类,然后单击按钮使用它,或者您也可以使用.prev()

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

https://stackoverflow.com/questions/21623736

复制
相关文章

相似问题

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