2013-04-17 91 views
1

所以我嘗試收到一個元素的特定ID的文本。在我的Javascript文件中,輸入以下代碼:JQuery的返回空白文本元素

var amount = 2; 
for (var i = 0; i < amount; i++) 
{ 
    $("#b"+i).click(function() { 
     var xmlhttp; 
     if (window.XMLHttpRequest) 
     {// code for IE7+, Firefox, Chrome, Opera, Safari 
      xmlhttp = new XMLHttpRequest(); 
     } 
     else 
     {// code for IE6, IE5 
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     var name = ($("#name"+i).text()); 
     alert(name); 

它一直警告空白。繼承人我的PHP文件:

echo "<td id= \"name".$counter."\">".$values[$counter]."</td> 
<td><button id= \"b".$counter."\">Show Table</button></tr>"; 
$counter++; 

計數器基本上是0和1。但是每當我試圖讓在名稱的文本+我它返回一個空白。有沒有人知道這個問題?

+0

確保定義了$ values [$ counter]'。另外,我們可以看到一些呈現的HTML嗎? –

+0

粘貼得到您的網頁後,生成HTML,意味着你在瀏覽器中看到的HTML代碼檢查元素或右鍵點擊使用 –

+0

[jQuery的阿賈克斯(http://api.jquery.com/jQuery.ajax/)的支持後。 – moonwave99

回答

0

你有一個封閉的問題,的i值將是2,當您單擊處理程序被解僱。你可以通過計數器作爲參數傳遞給click事件防止這一點。

var amount = 2; 
for (var i = 0; i < amount; i++) 
{ 
    $("#b"+i).click(i, function(e) { 
     var xmlhttp; 
     if (window.XMLHttpRequest) 
     {// code for IE7+, Firefox, Chrome, Opera, Safari 
      xmlhttp = new XMLHttpRequest(); 
     } 
     else 
     {// code for IE6, IE5 
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     var name = ($("#name"+e.data).text()); 
     alert(name);