如何知道我点击哪个div来改变它的内容?

时间:2011-03-17 23:13:57

标签: jquery html selected each

我正在实现一个“删除评论系统”,每个评论附近的“删除div”,但我仍然坚持如何知道在jquery post函数运行后我点击了“删除”按钮?然后如何显示“已删除”字样代替上次点击的“删除”?

<script ..>
$(".click).click(function(){
$.post("do.php",{...},function(data){/* I'm here*/})
});
</script>

<?php
$result = mysql_query("select * from ...");
while($data = mysql_fetch_array($result )){
?>
<div class="comment">
..
<a href="#" class="click">Delete</a>
<input type="hidden" value="<?php echo $data[0]; ?>" class="comm">
</div>

任何帮助都将非常感激。 拜。

2 个答案:

答案 0 :(得分:1)

$(".click").click(function(){
    var me = this;
    $.post("do.php",{...},function(data){ alert(me); )
});

答案 1 :(得分:1)

您需要在输入元素中获取类的值。

<input type="hidden" class="<?php echo $idComm; ?>"> 

虽然我将commentId放在一个值属性中:

<input type="hidden" value="<?php echo $idComm; ?>" class="commentId">

因为您的点击功能附加到a,您需要使用jquery来获取它

$(".click).click(function(){
    var parentDiv = $(this).parent();    // get parent div
    var commentId = parentDiv.find('input#commentId').val();  // get comment id 
    $.post(
       "do.php",
       { "commentId" : commentId },   // post comment id to server to extract from POST variable
       function(data, textStatus, XMLHttpRequest) {
           parentDiv.empty();       // Removes whats inside your div
           parentDiv.append('deleted')    // adds deleted inside the div
       }
   );
});

JQuery ajax使这一切变得更简单但我回答了问题

未经测试,因此可能存在拼写错误