我正在尝试发布一些数据,但是没有达到我所需要的。
无论我单击什么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/