2010-02-10 38 views
5

Tôi có đoạn này của jQuery sử dụng để có được một số ID từ một lĩnh vực đầu vàojQuery + parseInt() không chơi độc đáo

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

các ID của các trường là dọc theo dòng của 'col2Name' vv, và Tôi muốn chỉ cần lấy 2 từ đó, vì một số lý do trong cảnh báo của tôi tôi luôn luôn nhận được 0, bây giờ khi tôi cố gắng chỉ làm:

alert(parseInt('12978sdkjfhakj')); 

Tôi nhận được phản ứng thích hợp của 12978, tại sao điều này không làm việc ?

+2

** Luôn luôn ** xác định căn cứ của 'parseInt' (tham số thứ hai), như Pointy đã thực hiện! –

+1

Có, một điều khác tôi đã học được cách thực sự khó hiểu và thực sự khó hiểu. :-) – Pointy

Trả lời

17

Chức năng parseInt luôn bắt đầu từ bên trái của chuỗi. Hãy thử điều này:

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

đẹp, cảm ơn, bạn đã cứu tôi một cơn đau đầu lớn – Jimmy

Các vấn đề liên quan