2010-02-10 36 views
5

tengo este fragmento de jQuery utiliza para obtener un número de identificación de un campo de entradajQuery + parseInt() no está jugando muy bien

$('table th input').change(function() { 
    var id = $(this).attr('id'); 
    id = parseInt(id); 
    id = isNaN(id) ? 0 : id; 
    alert(id); 
}); 

las identificaciones de los campos están en la línea de 'col2Name', etc, y Quiero simplemente coger el 2 de allí, por alguna razón en mi alerta siempre estoy recibiendo 0, ahora cuando intento acaba de hacer:

alert(parseInt('12978sdkjfhakj')); 

tengo la respuesta apropiada de 12978, por qué es esto no funciona ?

+2

** Siempre ** especifique la base de 'parseInt' (el segundo parámetro), como lo hizo Pointy. –

+1

Sí, otra cosa que aprendí de manera difícil y realmente confusa. :-) – Pointy

Respuesta

17

La función parseInt siempre comienza desde el lado izquierdo de la cadena. Pruebe esto:

var i = parseInt(yourString.replace(/\D/g, ''), 10); 
+0

hermoso, gracias, me has ahorrado un gran dolor de cabeza – Jimmy

Cuestiones relacionadas