Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何为页面上的多个div实现ajax功能?_Php_Jquery_Html_Mysql_Ajax - Fatal编程技术网

Php 如何为页面上的多个div实现ajax功能?

Php 如何为页面上的多个div实现ajax功能?,php,jquery,html,mysql,ajax,Php,Jquery,Html,Mysql,Ajax,我编写了一个commentbox,并成功地实现了一个函数,可以在ajax中删除注释,而无需刷新页面。问题是,在我刷新页面之前,ajax函数不会删除其他注释。我怎样才能解决这个问题?我是ajax新手。非常感谢。对不起,我的英语是瑞典语 //埃门 更好的解释是: 这是回应我评论的PHP代码: while($evtMsg = $event->fetch_assoc()) { echo' <div id="activity" class="comme

我编写了一个commentbox,并成功地实现了一个函数,可以在ajax中删除注释,而无需刷新页面。问题是,在我刷新页面之前,ajax函数不会删除其他注释。我怎样才能解决这个问题?我是ajax新手。非常感谢。对不起,我的英语是瑞典语

//埃门

更好的解释是:

这是回应我评论的PHP代码:

while($evtMsg = $event->fetch_assoc())
    {   

    echo'

        <div id="activity" class="comment'.$evtMsg['id'].'">
        <div class="settings"><hr><hr><hr></div>
        <div class="actSwine"></div>
        <div class="act" id="delete">&times;<div class="abtSwine"></div><div class="abtbtn" id="deletewid">Radera</div></div>
        <div class="act" id="favo" onclick="alert(\'hello world\');">Favorisera<br><div class="abtSwine"></div><div class="abtbtn" id="favowid">Inl&auml;gget kommer att hamna under "Mina favoriter"</div></div>
        <div class="act" id="raport" onclick="alert(\'hello world\');">Anm&auml;l<br><div class="abtSwine"></div><div class="abtbtn" id="raportwid">Det h&auml;r inl&auml;gget &auml;r kr&auml;nkande.</div></div>
        <div id="clear"></div>
        <div class="activitylabel">
        <img src="'.$this->getUserId($evtMsg['userid'], "Profilepic").'" />
        <div class="activityname"><?php echo "@".$username." , " . $fname . " " . $lname ?></div>
        <div class="activitydomain"><?php echo $domain; ?></div>

        <div id="clear"></div>
        <p>
        '.$evtMsg['message'].'
        </p>
        </div>

        </div>  

        ';

        $id=$evtMsg['id'];

    }

从您的代码和您的解释中,我知道您为页面中的多个元素提供了相同的id。当JavaScript和jQuery按ID在页面中查找元素时,它只查找一个具有所述ID的元素,并返回它找到的第一个具有指定ID的元素。这就是为什么ajax调用不会删除多个。
如果您可以为注释指定一个类名而不是id,并将选择器更改为类选择器,则应删除所有注释。

我们看不到您的代码的作用,因此在您提供有问题的实际代码之前,我们无法回答此问题。这在很大程度上取决于您如何尝试执行此操作。能给我们看看代码吗?如果您的代码只工作一次,则可能是由于不一致或重复的div id以及几乎任何其他可能的原因。这就是Ajax的代码。所以,我是否正确地理解了它。当JS按ID查找元素时,它只检查一个指定项。但是如果给它上一节课,它可以保持活跃,寻找更多?是的,这是正确的。页面中元素的ID应该是唯一的。您不能为多个元素提供相同的ID。谢谢。但我该如何解决这个问题呢。有没有办法在类旁边插入唯一id?例如class=“style1 10”。例如,我在facebooks Div上看到过类似的东西。或者我应该使用整个类属性。是的,每个元素上可以有多个类名。因此,在生成元素时,也要将id添加到类中,不要忘记在类名之间留出空格。另外,我不认为您只能添加数字作为类名,因此您可以在id之前添加一个字母a 2,例如comment10,然后在jquery中查找
$('div').hasClass('comment'+id.).fadeOut('4000')
,诸如此类。它仍然会给我相同的结果。我将选择器从id切换到类。它仍然只删除1条注释。剩下的我需要刷新页面以删除另一个页面。
$("#delete").click(function(){



    $.ajax({

        type: "GET",
        url: "deletestatues.php",
        cache: false,
        data: "id=" + id,
        success: function(msg)
        {


            $("."+id).fadeOut('4000');

        }

    });