php - Ajax 仅适用于第一次从 php 中的 while 循环中获取数据
问题描述
我有一些评论框系统。哪些来自带有specefiq post id的mysql数据库。但是,每当我在评论框上写文本并提交这些文本时,只有来自 while 循环的第一个框工作正常。但其他人没有采取数据。我将类用于那些评论框部门而不是 id。这里有什么问题?来自mysql数据库的所有盒子如何才能很好地作为第一个输入数据?
这是我的代码
while($rowCom = $resultComment->fetch_assoc()) {
$posterID= $rowCom['poster'];
$posterComment = $rowCom['comment'];
$Commenttime = $rowCom['datetime'];
?>
<div class="comment-form-login">
<input type="number" class="userPostID" name="postid" value="<?php echo $postID ?>" style="display:none;">
<input type="number" class="userID" name="postuser" value="<?php echo $userID ?>" style="display:none;">
<input type="number" class="LoginUserID" name="LoginUser" value="<?php echo $userLogin ?>" style="display:none;">
<input type="text" class="usercomment leave-a-comment" placeholder="Leave a comment">
</div>
<php
}
?>
来自ajax的代码
$(".leave-a-comment").on('keypress',function(e) {
if(e.which == 13) {
var userpostID = $(".userPostID").val();
var userID = $(".userID").val();
var loginuserID = $(".LoginUserID").val();
var loginComment = $(".leave-a-comment").val();
$.ajax({
type: "POST",
async: false,
data: {
"done":1,
"userPOSTID":userpostID,
"userID":userID,
"loginUserID":loginuserID,
"LoginComment":loginComment
},
success: function(data){
$(".userPostID").val('');
$(".userID").val('');
$(".LoginUserID").val('');
$(".leave-a-comment").val('');
}
});
}
});
解决方案
这是因为以下几行:
var userpostID = $(".userPostID").val();
var userID = $(".userID").val();
var loginuserID = $(".LoginUserID").val();
var loginComment = $(".leave-a-comment").val();
$(".userPostID")
使用 class 选择整个页面上的所有元素.userPostID
。然后 jQuery 的.val()
函数返回匹配元素集合中第一个元素的值,这意味着您的第一篇文章的值。
将代码更改为以下内容:
var userpostID = $(this).siblings(".userPostID").val();
var userID = $(this).siblings(".userID").val();
var loginuserID = $(this).siblings(".LoginUserID").val();
var loginComment = $(this).val();
在你的 ajax 成功函数中做同样的事情。
推荐阅读
- ffmpeg - FFMPEG 视频合并命令:如何影响结果质量
- terraform - Terrafrom AWS EC2 没有更改代码,尝试销毁和创建实例
- angular - 在应用程序加载 Angular 后更改 api 调用的参数
- r - 如何将纬度(行)x经度(列)数据框更改为R中的纬度(列1),经度(列2),值(列3)数据框?
- javascript - 返回“未定义”的函数参数
- python - Pip 安装错误:pip 尝试为包构建轮子(已安装)
- c++ - 如何使用或实现 Win32 的 shobjidl_core.h 中的接口?
- javascript - 变量的同行引用是否有助于其跨度?
- javascript - 合并具有特定条件的数组
- pine-script - ATR % Weekly Close 计算器 25%、50% 等