Есть довольно простое решение javascript, которое очень приятно ... просто используйте inputElement.selectionStart
и inputElement.selectionEnd
.
Полезно отметить, что это только для элементов Dom, поэтому вам придется принятьваш селектор jQuery для вашей текстовой области и добавьте [0], чтобы получить сам элемент, т.е.$("#myTextArea")[0].selectionStart
.
Оттуда вы можете выполнить некоторую строковую работу и добавить в свои теги <p>
соответствующие индексы.
Я не проверял это, но это должно работать ...
var selStart = $("#myTextArea")[0].selectionStart;
var selEnd = $("#myTextArea")[0].selectionEnd;
var originalString = $("#myTextArea").val();
var segment_1 = originalString.substr(0,selStart);
var segment_2 = originalString.substr(selStart,selEnd);
var segment_3 = originalString.substr(selEnd,originalString.length);
var finalString = segment_1 + "<p>" + segment_2 + "</p>" + segment_3;
$("#myTextArea").val(finalString);