2010-02-10 70 views
5

我有这个片段的jQuery用于从输入字段的jQuery + parseInt函数()不是打很好

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

领域的ID是沿着“col2Name”等线路得到一个ID号,我只想抓住从那里2,由于某种原因,在我的警告我总是得到0,现在当我尝试只是做:

alert(parseInt('12978sdkjfhakj')); 

我得到的12978适当的反应,这是为什么不工作?

+2

**总是**指定'parseInt'的基数(第二个参数),就像Pointy做的那样! – 2010-02-10 21:41:12

+1

是的,另一件事我学会了艰难而真实,令人困惑的方式。 :-) – Pointy 2010-02-10 21:54:04

回答

17

parseInt函数总是从字符串的左侧开始。试试这个:

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

美丽,谢谢,你救了我一个巨大的头痛 – Jimmy 2010-02-10 21:40:03