I have two text boxes and a button as follows :
<input type="text" id="test1">
<input type="text" id="test2">
<input type="button" value="Click me" id="btn">
I am trying to insert some text into the textbox on the current carlet
position, What I was done is as follows:
jQuery.fn.extend({
insertAtCaret: function(myValue){
return this.each(function(i) {
if (document.selection) {
//For browsers like Internet Explorer
this.focus();
var 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();
}
});
}
});
//Button click:
$("#btn").click(function()
{
$('#test1').insertAtCaret("Some text");
});
Here I am manually defining the text box id as you can see in my code:
$('#test1').insertAtCaret("Some text");
I need to insert the value in such a way that in which of the box my carlet position now it should insert into that text box. I mean the value should insert on current carlet postion(test1 or test2, It is not fixed may be more text boxes may come.).
How can insert text on current carlet position. Please help me guys!!