jQuery - 将每个输入值附加到一个

时间:2015-09-01 07:31:14

标签: jquery html onkeypress

我有一些文本框,例如4个输入,我想在默认值旁边的KeyUp函数上用逗号将每个值附加到某个特定文本框但是问题是它会用之前的值覆盖值。

想要这样的事情:

  

01115468852,234324234,423423113345,43341889955

var curval = $('#PhoneTextbox').val();

$('.tag').each(function() {
  $(this).keyup(function() {
    var tags = $(this).val();
    $('#PhoneTextbox').attr('value', curval + " , " + tags);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<input id="PhoneTextbox" value="01115468852" type="text" />
<br />
<br />
<br />
<input class="tag" value="" type="text" />
<input class="tag" value="" type="text" />
<input class="tag" value="" type="text" />
<input class="tag" value="" type="text" />

4 个答案:

答案 0 :(得分:3)

您可以执行类似

的操作

var curval = $('#PhoneTextbox').val();

var $tags = $('.tag').keyup(function() {
  var tags = $tags.map(function() {
    return this.value || undefined
  }).get();
  tags.unshift(curval)

  $('#PhoneTextbox').val(tags);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<input id="PhoneTextbox" value="01115468852" type="text" />
<br />
<br />
<br />
<input class="tag" value="" type="text" />
<input class="tag" value="" type="text" />
<input class="tag" value="" type="text" />
<input class="tag" value="" type="text" />

答案 1 :(得分:2)

使用.change()代替.keyup()

&#13;
&#13;
   $('.tag').each(function () {
$(this).change(function () {
    var tags = $(this).val();
    var curval = $('#PhoneTextbox').val();
    $('#PhoneTextbox').attr('value', curval + " , " + tags);
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<input id="PhoneTextbox" value="01115468852" type="text"/>
<br />
<br />
<br />
<input class="tag" value="" type="text"/>
<input class="tag" value="" type="text"/>
<input class="tag" value="" type="text"/>
<input class="tag" value="" type="text"/>
&#13;
&#13;
&#13;

答案 2 :(得分:1)

试试这个:

$('.tag').each(function () {
    $(this).keyup(function () {
        var tags = $(this).val();
        var curval = $('#PhoneTextbox').val();
        $('#PhoneTextbox').attr('value', curval + " , " + tags);
    });
});

这样您就可以在最后添加的值

的末尾添加它

答案 3 :(得分:1)

使用此javascript代码

var p = $("#PhoneTextbox").val();
$(function(){
    $('.tag').keyup(function(){
        var t = [];
        t.push(p);
        $('.tag').each(function(i,e){
            if($(e).val().length > 0){
                t.push($(e).val());
            }
        });
        $("#PhoneTextbox").val(t.join());
    });
});