2012-09-29 21 views
14

Estoy cargando un formulario y un foco predeterminado en el primer campo de texto. El campo de texto se llena con un valor predeterminado "PW-". (Los primeros caracteres del número de parte del cliente como PW-446, PW-9887)Jquery se centra en el primer campo de texto y establece el cursor al final del valor para la entrada de datos instantánea

Quieren simplemente comenzar a escribir los números al cargar el formulario en lugar de hacer clic al final del campo, etc. para escribir los números. El cursor debe parpadear al final de la PW- y listo para la entrada de datos.

He probado muchos métodos diferentes que se encuentran en StackOverflow sin suerte :-(
¿Alguna idea? Gracias de antemano!

JQUERY

$(document).ready(function(){ 

    $('input:text:first').focus(); 

}); 

HTML

< input type="text" name="part_id" size="20" value="PW-"> 
+2

¿Has visto esta pregunta? http://stackoverflow.com/questions/1056359/set-mouse-focus-and-move-cursor-to-end-of-input-using-jquery –

Respuesta

36

He aquí un EXAMPLE:

$(document).ready(function(){ 
    var el = $("input:text").get(0); 
    var elemLen = el.value.length; 

    el.selectionStart = elemLen; 
    el.selectionEnd = elemLen; 
    el.focus(); 
});​ 

https://developer.mozilla.org/en-US/docs/XUL/Property/selectionStart

https://developer.mozilla.org/en-US/docs/XUL/Property/selectionEnd

Para las versiones antiguas de IE puede que tenga que utilizar: http://msdn.microsoft.com/en-us/library/ie/ms536401(v=vs.85).aspx

+0

FWIW, el foco() siempre debe hacerse en un elemento visible De lo contrario, no funcionará. Es decir, debe centrarse en un elemento DESPUÉS de que un elemento sea visible y no antes. – zmonteca

+0

Encantador. Todos los otros ejemplos de preguntas similares aquí en SO no funcionaron para mí. La tuya lo hace. –

+0

@Matheretter - Me alegra oírlo: D – Chase

0

Algo un poco diferente : quizás intente configurar su "PW-" solo en el texto a la izquierda del campo de entrada de texto. Valide contra no números en el campo y luego al enviar el formulario, anteponga el "PW-" al valor de ese campo, para que tenga un número de pieza completo.

Cuestiones relacionadas