I wrote this very little pice of code several times now, because i lost it each time again. Hopefully i find it next time here…
So what to do if you want to preset an selection within an input or textarea, just to support your users a little ( which they will never recognize – of course, they are users and do expect these things ). We’re lucky, Mozilla and IE also have little methods for that:

/**
 * @description setSelection - sets an selection for end input from start to end- index
 * $Id: range_selection.js 2 2009-03-17 19:25:27Z dinnerout $
 * @param node DOM-Node/String - DOM-Node or Id of Node to set selection in
 * @param startIndex Int - Startindex od selection
 * @param length Int - length of selection
 */
function setSelection( node, startIndex, length ){
	var dNode = (typeof node == 'string')?$(node):node;
	dNode.focus();
	// IE
	if(document.selection){
		var range = document.selection.createRange();
		range.move('character',-10000000); // reset cursor position
		range.moveStart('character',startIndex);
		range.moveEnd('character',startIndex+length);
		range.select();
	}
	// Mozilla
	if(dNode.selectionStart){
		dNode.selectionStart = startIndex;
		dNode.selectionEnd = startIndex + length;
	}
}

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.