我正在尝试发布一些数据,但是没有达到我所需要的。

无论我单击什么list-item,它都将发布最顶部的list-item的值。

这是jquery函数:

$(".list-item-wrap a").click(function(){
    $.post("display2.php", {
        msg_id: $(".list-item-wrap a .list-item").find('input').val()},
        function(data) {
            $("#list").load("display2.php", {
                msg_id: $(".list-item-wrap a .list-item").find('input').val()
            });
        //window.location.replace("display2.php");
    })
})


这是实际的html / php数据:

<?php

$query = "SELECT * from workflow WHERE name = '$username' ORDER BY msg_id DESC";
$result = mysql_query($query) or die("ERROR: $query.".mysql_error());

while ($row = mysql_fetch_object($result)) {
    echo "<div class=list-item-wrap>";
    echo "<a href='#'><div class=list-item><input class=msgid type=hidden value="
              .$row->msg_id.">";
    echo "<b><h1>".$row->subject."</h1></b>".substr($row->message, 0, 200)
              ."...<br><b>".$row->sender."</b>";
    echo "</div></a></div>";
}
?>


我要去哪里错了?

最佳答案

当您对一组元素调用val()时,它将仅返回第一个元素的值。您只需要在所需的元素上调用val()

尝试使用它来获取您单击的项目:

$(".list-item input", this).val()


在这种情况下,this是您想要的.list-item-wrap a,因此需要在其后获取input

或者,如果要发布所有项目,请使用以下方法:

$('input', '.list-item-wrap a .list-item').serialize()

关于php - 处理POST请求,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5492181/

10-10 22:01
查看更多