Notepad ++ -подобный выбор строк в textarea с помощью jquery? - PullRequest
0 голосов
/ 29 марта 2010

Возможно активировать ссылку для выбора одной строки внутри текстовой области. Если да, то как?

Марти Лайн

1 Ответ

1 голос
/ 29 марта 2010

Аналогичная проблема описана здесь .

В итоге, если вы знаете начальный и конечный индексы (или начальные и конечные значения):

<script type="text/javascript">

    function createSelection(field, start, end) {
        if (field.createTextRange) {
            var selRange = field.createTextRange();
            selRange.collapse(true);
            selRange.moveStart('character', start);
            selRange.moveEnd('character', end - start);
            selRange.select();
        } else if (field.setSelectionRange) {
            field.setSelectionRange(start, end);
        } else if (field.selectionStart) {
            field.selectionStart = start;
            field.selectionEnd = end;
        }
        field.focus();
    }

    function select() {

        var textArea = document.getElementById('one');

        var startIndex = textArea.value.indexOf("help");
        var endIndex = textArea.value.indexOf("do") + "do".length;

        createSelection(textArea, startIndex, endIndex);
    }

</script>

<a href="#" onclick="select();">Select Text</a>
<br />
<textarea id="one" rows="5" cols="25">Please help me do this!</textarea>

Чтобы получить значение выделенного текста, я бы порекомендовал jquery-fieldselection [http://github.com/localhost/jquery-fieldselection]

...