有没有办法只从textarea的值替换字符串的最后一行?我将要改变的字符串将是动态的!这段代码在jquery中!
var $textarea = $('#textarea');
var textarea_val = $textarea.val()
var value_list = textarea_val.split("\n");
var string_to_change = "lol"; //This value is dynamic
var last_value = value_list[invite_value.length - 1];
$textarea.val(textarea_val.replace(last_value, string_to_change)) //This is where I am stuck at!
最后一段代码将替换textarea_val的last_value的每个实例,这是我想要阻止的,只替换textarea值的最后一行!
答案 0 :(得分:1)
您更改数组中的最后一个值:)然后再次加入
$('.replace').click(function() {
var txt = $('#textarea');
var text = txt.val().trim("\n");
var valuelist = text.split("\n");
var string_to_replace = "lol";
valuelist[valuelist.length-1] = string_to_replace;
txt.val(valuelist.join("\n"));
})

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="textarea">
</textarea>
<button class="replace">Replace</button>
&#13;
答案 1 :(得分:1)
从数组中删除最后一个元素,然后添加一个新元素并更改textarea值
$('.change').click(function() {
var txt = $('#textarea');
var valuelist = txt.val().split("\n");
var string_to_replace = "lol";
valuelist.pop();
valuelist.push(string_to_replace);
txt.val(valuelist.join("\n"));
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="textarea">
</textarea>
<button class="change">change</button>
答案 2 :(得分:1)
您可以替换数组中的最后一项,然后将数组连接回字符串并将值设置回textarea
var value_list = textarea_val.split("\n");
var string_to_change = "lol"; //This value is dynamic
value_list[value_list.length - 1] = string_to_change
$textarea.val(value_list.join("\n"))
答案 3 :(得分:1)
var position = $textarea_val.lastIndexOf(last_value);
$textarea.val($textarea_val.substring(0, position) + string_to_change + $textarea_val.substring(position + last_value.length);
这样的东西?