我正在尝试将一些数据从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,无论我点击哪一条消息。
答案 0 :(得分:2)
使用
"id" : $(this).closest('tr').find(".messageID").text()
而不是
"id" : $(".messageID").html()
答案 1 :(得分:-1)
试试这个
"id" : $(this).closest('tr').find(".messageID").text();