2015-06-22 47 views
-3

我現在面臨一個問題,以便獲得TD的值點擊一個鏈接時擷取TD值,併發送回

search_code.php

echo "<table class='table table-hover'>"; 
echo "<tr><th>Institute ID</th><th>Institute Name</th><th>State</th><th>District</th><th>City</th><th>General Seats</th><th>Reserved Seats</th></tr>"; 

// output data of each row 
while($row = $result->fetch_assoc()) { 
    echo "<tr><td id='instid'>".$row["collegeUniqueId"]."</td><td id='instname'><a href='#' onClick='getCourses(".$row["collegeUniqueId"].");'>".$row["name"]."</a></td><td>".$row["state"]."</td><td>".$row["district"]."</td><td>".$row["city"]."</td><td>".$row["openSeat"]."</td><td>".$row["reservedSeat"]."</td></tr>"; 
} 

echo "</table>"; 

和search.php中

<script> 
    $(document).ready(function(){ 
     $('#search').click(function(e){ 
      e.preventDefault(); 
      $.ajax({ 
       type: 'POST', 
       url: 'search_code.php?state=' + $('#state').val() + '&district=' + $('#district').val(), 
       success: function(institute){ 
        $('#institute').html(institute); 
       } 
      }); 
     }); 

     function getCourses(id) { 
      $id = id; 
      $.ajax({ 
       type: 'POST', 
       url: 'courses.php?courseid=' + id, 
       success: function(courses){ 
        $('#courses').html(courses); 
       } 
      }); 
     } 
    }); 
</script> 
+1

您不能有多個具有給定'id'值的DOM元素。你的循環使用相同的'id'創建多個元素,這是無效的。 –

回答

0

您還沒有表明被生成的HTML,但如果「ID」值比其他任何東西,你必須把它放在引號:

echo "...onClick='getCourses(\"".$row["collegeUniqueId"]."\");'>..."; 
// --------------------------^^---------------------------^^ 

附註:您也想對付那些重複的id值循環創建(假設有越來越多行的結果集)。


邊注2:你在你的getCourses功能墮入The Horror of Implicit Globals:你從來沒有聲明$id變量。你可以刪除它,你不用任何東西。在HTML

0

ID必須是唯一的,你不能有相同的ID多個元素。

至少有2種方法來解決這個問題:

  1. 使用類屬性和使用數據-id屬性獲取特定的行
  2. 的ID在你的PHP可以生成與行ID號<td id='instid-".$row["collegeUniqueId"]."'>
+0

雖然這是真實的([正如我所提到](http://stackoverflow.com/questions/30977566/fetching-td-value-in-php-file-and-sending-back/30977675#comment49985595_30977566)),令人驚訝地,如果你看代碼,這不太可能是實際的問題,因爲OP似乎沒有試圖使用這些「id」(至少,不涉及問題中的代碼)。 –

+0

沒錯還有更多的問題,如AJAX加載例如結合之後的事件或防止違約事件的行爲。 – Robert