1

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 を取得します。

4

2 に答える 2