将数据从HTML获取到jQuery的问题

时间:2013-08-21 10:21:02

标签: php jquery ajax

我正在尝试将一些数据从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,无论我点击哪一条消息。

2 个答案:

答案 0 :(得分:2)

使用

"id" : $(this).closest('tr').find(".messageID").text()

而不是

"id" : $(".messageID").html()

答案 1 :(得分:-1)

试试这个

"id" : $(this).closest('tr').find(".messageID").text();