2016-12-25 5 views
0

PHP配列のiOSテーブルビューまたはAndroid ArrayListに似た構造のテーブルを作成する方法はありますか?基本的に私がやろうとしているのは、行を選択してその行から値を取得する方法を実装することです。データベースのキーのようなものかもしれません。 foreachループ内にecho "<tr id=data>".$value."</tr>"と書き込むと、JavaScriptを使用して何かを印刷すると、配列内の最初の要素の内部htmlのみが出力されます。しかし、idを実際の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に複数のidを入れてはいけません。 idはユニークで、classは繰り返す要素用です。

+0

それは動作します!あなたが実際にしたことは、多くの意味があります。私はIOSといくつかのJavaから来ているので、PHPは多種多様です。もう一度私はあなたに感謝します!メリークリスマス !! – Solomon

+0

javascriptタグ内の選択した要素からキーを取得するにはどうすればよいですか?私はこれらが非常に単純な質問であることを理解しています。購入する書籍やコースをお勧めすることができれば、私はそれを感謝します。 – Solomon

+0

ありがとうございます。あなたがJavaScriptでそれを取得したい場合、あなたはどこかでhtmlでキーを最初に書かなければならないでしょう。 "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

関連する問題