HTML から jQuery にデータを渡そうとしていますが、コードは部分的に機能しますが、同じクラスのタグが複数あるため、クリックされたタグからのみデータを送信する方法がわかりません。JavaScript関数を介してデータを送信しようとしましたが、うまくいきませんでした。誰かが私のコードを見て、私を助けてくれませんか。
<div id="inboxWindow">
<table id="list_ofMessages">
<tr>
<td>id</td>
<td>From</td>
<td>Title</td>
<td>Date</td>
</tr>
<?php while($data = $query2->fetch_assoc()): ?>
<?php
$senderID = $data['senderID'];
$query3 = $con->query("select * from login where user_id = '$senderID'");
$name = $query3->fetch_assoc();
$name = $name['username'];
?>
<tr>
<?php if($data['opened'] == 1) : ?>
<td class="messageID"><?php echo $data['idmessage']; ?></td>
<td><?php echo $name; ?></td>
<td><a class="readMessageLink"><?php echo $data['title']; ?></a></td>
<td><?php echo $data['received']; ?></td>
<?php else : ?>
<td class="messageID"><b><?php echo $data['idmessage']; ?></b></td>
<td><b><?php echo $data['senderID']; ?></b></td>
<td><b><a class="readMessageLink"><?php echo $data['title']; ?></a></b></td>
<td><b><?php echo $data['received']; ?></b></td>
<?php endif; ?>
</tr>
<?php endwhile; ?>
</table>
</div>
<div id="messageWindow">
<label id="titleArea"></label><br><br>
<label>Message:</label><br>
<label id="contentArea"></label>
</div>
script.js
$(".readMessageLink").click(function(){
$.post("readMessage.php", {"id" : $(".messageID").html()}, function(data){
var obj = jQuery.parseJSON(data);
$("#titleArea").html("Title: " + obj.title);
$("#contentArea").html(obj.content);
});
$("#inboxWindow").slideToggle(300);
$("#messageWindow").slideToggle(300);
});
このコードを使用すると、どのメッセージをクリックしても、常に最初のメッセージから messageID を取得します。