Ciao, per attivare il focus sull'input puoi usare il semplice focus(), in questo modo:
codice:
$("#tuocampoinput").focus();
Per posizionare il cursore sul testo, attualmente non esistono metodi nativi in jQuery.
Puoi fare qualche ricerca tipo "jquery set caret". Spulciando tra i risultati troverai sicuramente dei plugin o degli script che implementano questa e altre funzioni con cui gestire, appunto, la selezione sul testo.
Utilizzando JavaScript, la selezione sul testo viene gestita con metodi diversi tra i vari browser.
Si può comunque realizzare qualcosa al volo appiccicando un po' di JavaScript e jQuery.
Ecco un esempio funzionante (testato su IE, FF, CH) da cui puoi prendere spunto:
codice:
<!DOCTYPE HTML>
<html>
<head>
<title>Esempio</title>
<meta charset="utf-8">
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
$.fn.setCaret = function(i) {
var e = $(this).focus()[0];
if (e.selectionStart != null) e.setSelectionRange(i, i);
else if (e.createTextRange) {
var r = e.createTextRange();
r.move("character", i);
r.select();
}
}
$(function(){
$("#campotesto").setCaret(1);
})
</script>
</head>
<body>
<input id="campotesto" type="text" value="Lorem ipsum dolor sit amet">
</body>
</html>