Используйте setSelectionRange (beg, end) или selectionStart / selectionEnd, чтобы изменить выбор.В основном из текущего диапазона выбора вы пытаетесь получить индекс (начало, конец) индексов диапазона, которые вы пытаетесь выбрать, а затем измените выбор.Предполагая, что вы хотите обернуть / расширить выделение до ближайших «NEWLINE», вот пример кода:
var x = $("#input input:first")[0];
var value = x.value;
var NEWLINE = '\n'; // whatever is your newline delimiter.
var start = value.substr(0, x.selectionStart).lastIndexOf(NEWLINE);
if (start == -1) start = 0;
var end = value.substr(x.selectionEnd).indexOf(NEWLINE);
if (end == -1) end = value.length;</p>
<p>x.setSelectionRange(start, end);
or
x.selectionStart = start, x.selectionEnd = end;