Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 遍历DOM并将值插入<;输入/>;_Jquery_Insert_Traversal - Fatal编程技术网

Jquery 遍历DOM并将值插入<;输入/>;

Jquery 遍历DOM并将值插入<;输入/>;,jquery,insert,traversal,Jquery,Insert,Traversal,复制粘贴需要很多代码,所以这里有一个 关注任何输入,按钮出现: $('input').focus(function () { var $this = $(this); $this.closest('p').after($( ".specialCharactersWrap" )); }); 然后单击,按钮的文本将插入到输入中: $('.specialCharactersWrap button').click(function() { v

复制粘贴需要很多代码,所以这里有一个

关注任何输入,按钮出现:

$('input').focus(function () {
        var $this = $(this);
       $this.closest('p').after($( ".specialCharactersWrap" ));

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

 $('.specialCharactersWrap button').click(function() {
         var $this = $(this);
    var value = $(this).text();
    var input = $('.FillIn .FillInInput');
    input.val(input.val() + value);
    return false;
});
问题:它将插入所有输入。我需要它插入到上面的一个单曲中(这是聚焦的)。尝试使用
closest()
遍历DOM,但不起作用,它会中断,我在此处的尝试失败==>

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

试着改变一下

var input = $('.FillIn .FillInInput');
致:

试试这个

$('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;
});
我在输入焦点上添加了一个类,然后在单击按钮时使用它 或者您也可以使用user.prev()

试试这个


伙计们,答案都一样清楚+有用+有效。我投票支持所有人,谢谢。但我只能选择一个答案。我选择Felix's是因为它最接近我想要做的。谢谢大家。在尝试将多个s放入一个中后,我意识到该函数会将按钮文本插入到该的所有s中。你的解决方案没有。所以这是对我来说最合适的,谢谢:)
$('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;
});
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;
});