Как узнать, какой div я нажал, чтобы изменить его содержимое? - PullRequest
2 голосов
/ 18 марта 2011

Я добиваюсь «удаления системы комментариев», «удаления 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 ]

1 голос
/ 18 марта 2011

Вам нужно получить значение класса в вашем элементе ввода.

<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 делает все это проще, но я отвечаю на вопрос

не проверен, поэтому возможны опечатки1012 *

1 голос
/ 18 марта 2011
$(".click").click(function(){
    var me = this;
    $.post("do.php",{...},function(data){ alert(me); )
});
...