2016-12-25 151 views
0

是否有關於如何使用類似iOS表格視圖的結構創建表格或從PHP陣列創建Android ArrayList的約定?基本上我想要做的是實現一種方法來選擇一行並從該行獲取值,就像數據庫中的一個鍵也許。 當我在foreach循環中編寫echo "<tr id=data>".$value."</tr>"時,使用JavaScript在按下時打印某些內容,它僅打印數組中第一個元素的內部html。但是,當我在實際的html正文中分配id時,它適用於所有行。我看到PHP真的不同。任何幫助,將不勝感激! 代碼:使用PHP數組創建HTML表格

<html> 
<body> 
    <table> 
     <tr id="subject"><?php 
     $subjects = array("IT","Programming","Networks"); 
     foreach($subjects as $key => $value) { 
     echo "<td>"."<a href='index.php'>".$value."</a>"."</td>"; 
     }  
    ?></tr> 
     </table> 
    </body> 


    <script type="text/javascript"> 

     document.getElementById("subject").onclick = function(){ 
      console.log(document.getElementById("subject").innerHTML); 
     }; 

    </script> 


</html> 
+3

你應該可以做任何你想做的事情。如果你不發佈代碼,就不可能說出你做錯了什麼。 – Barmar

+0

我該如何發佈? – Solomon

+0

如何發佈代碼:http://stackoverflow.com/help/formatting – Barmar

回答

0

這裏是一個辦法做到這一點。

<html> 
<body> 
    <table> 
    <tr id="subject"><?php 
    $subjects = array("IT","Programming","Networks"); 
    foreach($subjects as $key => $value) { 
    echo "<td>"."<a href='index.php' class='column'>".$value."</a>"."</td>"; 
    }  
    ?></tr> 
    </table> 
</body> 


<script type="text/javascript"> 

    var elems = document.getElementsByClassName('column'); 
    for (var i = 0; i < elems.length; i++) { 
     elems[i].onclick = function() { 
      console.log(this.innerHTML); 
     }; 
    } 

</script> 

通知我添加了一個column類的鏈接,如果用戶在列單擊我檢查。

編輯:這是假設我正確理解你的問題。否則,如果您的實際代碼打印多行,多個鏈接,並且您試圖獲取一行的值,那麼您的html中不應該有多個idid是唯一的,class是重複的元素。

+0

它的工作原理!你做的事實際上有很大的意義。我來自iOS和一些Java,所以PHP有點不同。我再次感謝你,讓我接受!聖誕節快樂 !! – Solomon

+0

如何從JavaScript標籤中的選定元素獲取密鑰?我明白這些都是非常簡單的問題,所以如果你可以推薦一本書購買或課程採取我將不勝感激。 – Solomon

+0

謝謝。如果你想用JavaScript來獲得它,你必須首先在html的某個地方編寫密鑰。 like:'echo「​​」。$ key。「 Artis

0

使用event.target找出用戶點擊了什麼元素。

document.getElementById("subject").addEventListener("click", function(event) { 
 
    console.log(event.target.textContent); 
 
    event.preventDefault(); // prevent following the link 
 
});
<table> 
 
    <tr id="subject"> 
 
    <td><a href="index.php">Programming</a> 
 
    </td> 
 
    <td><a href="index.php">IT</a> 
 
    </td> 
 
    <td><a href="index.php">Networks</a> 
 
    </td> 
 
    </tr> 
 
</table>

+0

感謝您的回覆。但我擁有的陣列是用於測試的。實際上,陣列將來自數據庫。我不硬編碼陣列。你提供的答案看起來不錯,如果我要硬編碼,糾正我,如果我錯了 – Solomon

+1

我的代碼不取決於數組來自何處。我只是使用硬編碼的HTML,因此它會在這裏運行。 – Barmar