我有一个博客并从某个SQL数据库中获取数据。 我有一个问题,从foreach循环获取正确的数据,我不知道为什么。我会尝试解释。
对于每张图片,都有一个textarea,用户可以在其中发表评论。对于每个注释,我必须发送相应的id(ajax)以添加到数据库。
foreach($db->query("SELECT id, image FROM news") as $row)
{
<a href='images/news/{$row['image']}'><img src='images/news/{$row['image']}'/></a>";
<div class="save_comment">
<table width="400" border="0" cellspacing="1" cellpadding="2">
<tr>
<td>
<input type="text" class="_comment_id" name="id" value="<?php print_r($row['id'] );?>" />
Comment:
<textarea id="_comment_text" class="comment_area" name="comment_area" maxlength="400" cols="80" rows="8" ></textarea>
</td>
</tr>
<tr>
<td>
<a class="post_comment" href=".popupContainer">Post Comment</a>
</td>
</tr>
</table>
</div>
}
点击“发表评论”后,js-script将被初始化....
<script type="text/javascript">
jQuery(document).ready(function() {
$(".post_comment").leanModal({top : 200, overlay : 0.6, closeButton: ".modal_close" });
$(function(){
jQuery('.tabs .tab-links a').on('click', function(e) {
var currentAttrValue = jQuery(this).attr('href');
jQuery('.tabs ' + currentAttrValue).show().siblings().hide();
jQuery(this).parent('li').addClass('active').siblings().removeClass('active');
e.preventDefault();
});
});
});
</script>
....并显示一个弹出容器(带有.popupContainer类的div),用户最终可以在其中提交评论。
<div class="popupContainer" style="display:none;">
Your Name: <input type="text" class="_user_name" />
Email:<input type="text" class="_comment_email" />
<input type='button' class='_submit_comment' value='Speichern' >
</div>
通过提交此评论,初始化以下脚本,并且数据将由ajax发送。
<script type="text/javascript">
$("._submit_comment").click(function(){
var parentObj = $(this).closest('.save_comment');
var _comment_id = parentObj.find('._comment_id').val(); -> I don't get the correct id
所以这里开始出现问题。我只从foreach循环获得第一个id,但我需要为每个注释获取相应的id。任何人都可以帮助解决这个问题吗? 谢谢 米施
答案 0 :(得分:0)
这部分是错误的恕我直言:
$(this).closest('.save_comment');
当您单击“发表评论”时,您应该设置一个JS变量,其ID可以存储在链接中,如:
<a class="post_comment" href=".popupContainer" data-idcomment="<?php print($row['id'] );?>">Post Comment</a>
并且
var _comment_id = null;
jQuery('.tabs .tab-links a').on('click', function(e) {
_comment_id = jQuery(this).data('idcomment');
var currentAttrValue = jQuery(this).attr('href');
jQuery('.tabs ' + currentAttrValue).show().siblings().hide();
jQuery(this).parent('li').addClass('active').siblings().removeClass('active');
e.preventDefault();
});
});
});
然后你可以使用_comment_id
为你调用ajax