如何"追加"使用jQuery而不是完全替换它的值?

时间:2015-07-08 02:57:43

标签: jquery

我理解val的方式是当你做

$(".foo").val("x") 

你实际上替换了输入的值。 jQuery 2.x中的任何内容都支持"追加"喜欢功能呢?我发现了一个单元/集成类似的场景,可以让我重现真实但是...除了val完全替换输入的值而不是"只需添加一个char"就像我的最终用户一样。

1 个答案:

答案 0 :(得分:5)

访问.val( cb )的回调函数,并返回与您选择的字符串连接的当前值:



$(".foo").val(function(i, currVal) {
   return currVal + "whatever";
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input class="foo" tyle="text" value="A-">      <!-- A-whatever -->
<input class="foo" tyle="text" value="B-">      <!-- B-whatever -->
&#13;
&#13;
&#13;

如果你想要像.valAppend()这样的 jQuery方法,你可以创建一个:

$.fn.valAppend = function( str ) {
  return this.val( this[0].value + str );
};

// Use like:
$(".foo").valAppend( "whatever" );