I have textarea
where I need to add predefined texts that are my links. When you click on them, the content of ID
is added at the current cursor position in textarea
. I need to do this with jQuery .
Example: link
I have textarea
where I need to add predefined texts that are my links. When you click on them, the content of ID
is added at the current cursor position in textarea
. I need to do this with jQuery .
Example: link
Setting content in id
of field would not be the best choice. Remember that the function of id
is to store the identifier of your field to handle it. to solve your problem and get more semantic, I would advise using a date field to save the value as below:
HTML :
<textarea name="descricao" class="form" rows="9"></textarea>
<a href="#" data-message="Bom dia, como voce esta?">Saudação</a>
<a href="#" data-message="texto do exemplo numero 2">Exemplo 2</a>
<a href="#" data-message="texto do exemplo numero 3">Exemplo 3</a>
<a href="#" data-message="texto do exemplo numero 4">Exemplo 4</a>
JavaScript :
function setarValor() {
var menssagem = $(this).data('message'); //Pego a menssagem do campo data
var textAreaPosition = $('textarea').prop("selectionStart"); //pego a posição do cursor no textarea
var textAreaValue = $('textarea').val(); // pego valor do text area
var valorConcatenado = [textAreaValue.slice(0, textAreaPosition), menssagem, textAreaValue.slice(textAreaPosition)].join(''); // faço a concatenação da menssagem na posição
$('textarea').val(valorConcatenado); //seto valor no textarea
}
//Ele execulta após toda a pagina ser renderizada
$(document).ready(function () {
//seto de click nos seus links
$('a').click(setarValor);
});
Follow jsfiddle for change