【问题标题】:How to know which div I clicked to change it's content?如何知道我点击了哪个 div 来更改它的内容?
【发布时间】:2011-07-17 19:32:45
【问题描述】:

我正在实现一个“删除 cmets 系统”,每个评论附近都有一个“删除 div”,但我不知道在 jquery 发布功能运行后如何知道我在哪个点击了“删除”按钮?然后如何显示“已删除”字词出现在最后点击的“删除”位置?

<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>

任何帮助将不胜感激。 问候。

【问题讨论】:

    标签: jquery html selected each


    【解决方案1】:
    $(".click").click(function(){
        var me = this;
        $.post("do.php",{...},function(data){ alert(me); )
    });
    

    【讨论】:

    • 呃,不,这对我没有帮助,我做到了:$.post("do.php",{...},function(data){ $(this).html("已删除"); ) 但没有任何改变!嘿,感谢 Jakub 提供更多详细信息!
    • @Nadj 你确定 do.php 返回成功吗?
    • @Nadj - 不要在你的回调中使用this,使用me - 这是你点击的元素。您需要从中获取 commentId 属性值。
    • maniator,是的,它工作正常,直到知道,我没有谈论它返回什么,我只想在点击“删除”按钮后发生一些事情,对吧??
    • Jakub Konecki,我做到了,发布功能有效,但“删除”保持原样,不显示“已删除”,你建议谁?
    【解决方案2】:

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

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

    虽然我会将 commentId 放在 value 属性中:

    <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 让这一切变得更简单,但我正在回答提出的问题

    未测试,可能有错别字

    【讨论】:

    • 好吧whatsthebeef,我试试看!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-14
    • 1970-01-01
    • 2012-04-18
    • 1970-01-01
    • 2012-04-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多