Добавяне на таг преди и след селектирания текст

  • Автор Автор Hous
  • Начална дата Начална дата

Hous

Registered
Код:
$(document).ready(function() {
	var getSelected = function(){
		var t = '';
		if(window.getSelection) {
			t = window.getSelection();
		} else if(document.getSelection) {
			t = document.getSelection();
		} else if(document.selection) {
			t = document.selection.createRange().text;
		}
		return t;
	}

	$("#bbcodefield").select(function(eventObject) {
	alert('[sometag]'+getSelected().toString()+'[/sometag]');
	});
});
Ето този код работи засега, но искам вместо във alert да се replace-ва директно селектирания/highlighted текст, някаква идея?

Опитах така...
Код:
$(getSelected().toString()).replaceWith( "[sometag]" + $(getSelected().toString()).text() + "[/sometag]" );

но не става,явно логиката е друга.
 
Код:
$(document).ready(function() {
	function getSelectedText() {
    var len =$("#bbcodefield").val().length;
    var start = $("#bbcodefield")[0].selectionStart;
    var end = $("#bbcodefield")[0].selectionEnd;
    var sel = $("#bbcodefield").val().substring(start, end);
    return sel;
}


function bbrep(start, end) {
    var tmpVal = getSelectedText();
    $("#bbcodefield").val($("#bbcodefield").val().replace(tmpVal, start + tmpVal + end));
}

$("#buttonsometag").click(function() {
    bbrep("[sometag]", "[/sometag]");
    return false;
})
});
Това сработи, ако някой му трябва.
 

Back
Горе