Monday 21 May 2012

jQuery Insert text into textarea

jQuery Insert text into textarea:



jQuery.fn.extend({
insertAtCaret: function(myValue){
 return this.each(function(i) {
   if (document.selection) {
     //For browsers like Internet Explorer
     this.focus();
     sel = document.selection.createRange();
     sel.text = myValue;
     this.focus();
   }
   else if (this.selectionStart || this.selectionStart == '0') {
     //For browsers like Firefox and Webkit based
     var startPos = this.selectionStart;
     var endPos = this.selectionEnd;
     var scrollTop = this.scrollTop;
     this.value = this.value.substring(0, startPos)+myValue+this.value.substring(endPos,this.value.length);
     this.focus();
     this.selectionStart = startPos + myValue.length;
     this.selectionEnd = startPos + myValue.length;
     this.scrollTop = scrollTop;
   } else {
     this.value += myValue;
     this.focus();
   }
 })
}
});
Usage:


$("#elem_id").insertAtCaret('text');

2 comments: