目前,当我点击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>
答案 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()。
然后我简单地将两个值连接在一起。