在现有textarea值之前在textarea中添加值

时间:2014-08-27 00:04:24

标签: jquery

目前,当我点击Add Value时,它会在现有textarea值之后添加值。 但我希望它在现有textarea值之前添加新值。

$('#add_value').click(function() { 
$(this).next().val($(this).next().val()+'New Value'); 
 });


<div id="add_value">Add Value</div>
<textarea>(want to add new value here) Existing value...</textarea>

3 个答案:

答案 0 :(得分:1)

变化:

$(this).next().val($(this).next().val()+'New Value');

为:

$(this).next().val('New Value' + $(this).next().val());

答案 1 :(得分:1)

尝试更改

$(this).next().val($(this).next().val()+'New Value'); 

$(this).next().val('New Value' + $(this).next().val()); 

如果您发现自己遇到了递归问题,请在使用之前尝试存储该值:

var thisVal = $(this).next().val();
$(this).next().val( 'New Value ' + thisval );

答案 2 :(得分:0)

为了便于阅读,我打破了各个逻辑步骤。这应该可以解决问题,尽管没有测试:

$('#add_value').click(function() { 
    var newValue = $(this).text();
    var currentValue = $(this).next().text();
    $(this).next().text(newValue + currentValue); 
});

问题在于您使用了jQuery val()方法,该方法仅在尝试从表单字段中检索HTML值属性时才有效。要获取HTML元素的文本内容,请使用text()方法,或者如果要完整html,请使用html()。

然后我简单地将两个值连接在一起。