我试图高亮textarea中的一个字符串/文本,然后将其包裹在自定义标记周围。Javascript:替换文本区域中突出显示的字符串?
我现在可以很容易地得到突出显示的文本,并且我可以将它包裹在标记周围并警告()它,但我无法在textarea内替换它。
这是我的工作FIDDLE(https://jsfiddle.net/dftLu6ax/)
,这是我的Javascript/jQuery代码:
$('#showSelected').on('click', function(){
function getInputSelection(elem){
if(typeof elem != "undefined"){
s=elem[0].selectionStart;
e=elem[0].selectionEnd;
return elem.val().substring(s, e);
}else{
return '';
}
}
var text = getInputSelection($("#details"));
var link = prompt("Please enter your URL", "");
if (link != null) {
var str = document.getElementById("details").value;
var res = str.replace(text, "<a onclick='somevariable goes here' href=''>"+text+"</a>");
alert(res);
/*document.getElementById("demo").innerHTML =
"Hello " + person + "! How are you today?";*/
}
});
和我简单的HTML:
<input type="button" id="showSelected" value="Insert Link">
<textarea class="form-control" rows="5" id="details" name="details"></textarea>
可能有人请告知本?
在此先感谢。
试试这个'$(“#details”).val(res);'。这将取代textarea中选定的文本与你正在显示的警报 – Akshay
@Akshay,我不想用我刚才突出显示的文本替换textarea中的整个文本! – Jackson