Divyay208 Ответов: 1

Щелкните событие в текстовой области выделенной строки


У меня есть текстовое поле, текстовая область и кнопка поиска на моей странице просмотра MVC

в зависимости от ввода введенного пользователем из элемента управления Textbox я делаю вызов ajax и добавляю данные в элемент управления TextArea

Я добавляю ID, firstname, lastname к элементу управления TextArea в несколько строк(если у меня будет 10 пользователей, я расположу данные в 10 строках)

Теперь, если я нажму на данные firstline(firstuser), то он должен отображать имя, фамилию выбранного пользователя в других текстовых полях, как совершать вызовы по динамическому сгенерированному тексту

Что я уже пробовал:

<div class="col-lg-4">
        <textarea readonly rows="15" cols="100" id="userDetails" style="resize: none;overflow:auto;color:gray" ></textarea>
    </div>


$("#userDetails").click(function () {
            alert("clickedon textarea");
        });


сверху я нажимаю на элемент управления TextArea, событие срабатывает, но я хочу запустить событие на выбранной строке

1 Ответов

Рейтинг:
10

Bryian Tan

Очень интересное требование. Предположим, что каждая строка разделяется новой строкой '\n', при щелчке textarea вы можете написать что-то вроде ниже

1. Получить значение текстового поля
2. Получить номер строки, где находится курсор приземлился на
3. получить текст из выбранной строки (t.value.split("\n")[rowNumber-1])

function getline()
{
    var t = $("#t")[0]; //1
    let rowNumber = t.value.substr(0, t.selectionStart).split("\n").length; //2

//do something with the selected line t.value.split("\n")[rowNumber-1]
    console.log(t.value.split("\n")[rowNumber-1]);
    alert(t.value.split("\n")[rowNumber-1]);
}


Вот вам пример: CP_textarea - JSFiddle[^]

Протестировано на: Firefox

Ссылка:
javascript - получение номера строки в текстовой области - переполнение стека[^]


Divyay208

Отлично,Большое Вам Спасибо

Divyay208

можем ли мы выделить выбранную строку из приведенного выше по щелчку мыши

Bryian Tan

Возможно, вам придется использовать плагин. Вот вам пример: библиотека jQuery highlightTextarea демо[^]