2013-07-16 16 views
-2

如何獲取通過Ajax獲取的不同頁面上的HTML表格中的數字總和?如何獲取通過Ajax獲取的不同頁面上的HTML表格中的數字總和?

我有這樣的代碼跟我說:

第1頁:阿賈克斯jQuery的

<html> 
<head> 
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script> 

    <script> 
$.ajax({ 
url: 'page2.html', 
datatype: "html", 
success : function (data) { 

var s = 0; 
    $(data).find("#a tr").each(function(){ 
    var nam = $(this).find("tr").text(); 
    var pa = parseInt(nam); 
    s+=pa 

    }); 
    $("b").html(s); 
    } 
    }); 

    </script> 
</head> 

<body> 
<b></b> 
</body> 
</html> 

第2頁:HTML

<body> 

<table id='a' border='2'> 
<tr> 
<td>510</td> 
</tr> 
<tr> 
<td>2</td> 
</tr>  
<tr> 
<td>8</td> 
</tr>  
<tr> 
<td>17</td> 
</tr>  
<tr> 
<td>30</td> 
</tr>  
<tr> 
<td>31</td> 
</tr>  
<tr> 
<td>31</td> 
</tr>  
</table> 

</body> 

但錯誤:( 我如何能做到這一點

我想收藏頁數2的jquery

我想結果

號= 598

但如何?

,並感謝

+0

<>哪個錯誤? –

+0

總數似乎超過598.那麼錯誤是什麼? – Sid

+0

什麼是錯誤?你在看什麼?你期望看到什麼? –

回答

2

你應該尋找td而不是tr它不會有所作爲無論哪種方式,但我認爲這是語義上更合適做這個:

var s = 0; 

$(data).find("#a tr").each(function() { 
    var nam = $(this).find("td").text(); 
    var pa = parseInt(nam); 
    s+=pa 
}); 

但我不明白爲什麼你不能只是這樣做:

$(data).find("#a tr td").each(function() { 
    var nam = $(this).text(); 
    var pa = parseInt(nam); 
    s+=pa 
}); 

另外,請解釋什麼牛逼他錯誤是,你期望看到的是什麼。

+0

@roasted我不這麼認爲。在'each'的回調範圍內,'this'將指向當前元素。 –

+0

@roasted - 你錯了,它在每個函數的範圍內,所以它引用了元素。 – adeneo

+0

我的不好看不到每個循環 –

相關問題