2010-02-10 71 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