после того, как функция jquery вызова ajax не работает должным образом

заголовки:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script> <script type="text/javascript" src="js/timeago.js" ></script> <script src="js/test_helpers.js" type="text/javascript"></script> 

photos.php

 $(".cmdclose").click(function(){ var id=this.id; $.post("cmddel.php" ,{"id":id}); setTimeout(function(){ <?php echo 'var id = '.json_encode($_GET['id']).';'; ?> $('#cmdz').load('cmdajax.php?id='+id); },1000); }); 

html часть:

 <div id="cmdz"> <?php $uid=$_SESSION['uid']; $query="SELECT * FROM `cmds` WHERE `pid` =${id} ORDER BY `id`"; $result=$db->query($query); ?> <table id="tblcmd"> <tr> <? while($result_set=$db->fetch($result)){ // echo $result_set['cmds']; $uid=$result_set['uid']; $query2="SELECT * FROM `user` WHERE `id` ='${uid}'"; $result2=$db->query($query2); $result_set2=$db->fetch($result2); echo '<td>'.$result_set2['name'].'</td>'; echo '<td>:'.$result_set['cmds'].'</td>'; echo '<td id="'.$result_set['id'] .'"><img src="images/cmd-close.jpg" class="cmdclose" id="'.$result_set['id'] .'" /> </td>'; ?> </tr> <?php } ?> </table> </div> в <div id="cmdz"> <?php $uid=$_SESSION['uid']; $query="SELECT * FROM `cmds` WHERE `pid` =${id} ORDER BY `id`"; $result=$db->query($query); ?> <table id="tblcmd"> <tr> <? while($result_set=$db->fetch($result)){ // echo $result_set['cmds']; $uid=$result_set['uid']; $query2="SELECT * FROM `user` WHERE `id` ='${uid}'"; $result2=$db->query($query2); $result_set2=$db->fetch($result2); echo '<td>'.$result_set2['name'].'</td>'; echo '<td>:'.$result_set['cmds'].'</td>'; echo '<td id="'.$result_set['id'] .'"><img src="images/cmd-close.jpg" class="cmdclose" id="'.$result_set['id'] .'" /> </td>'; ?> </tr> <?php } ?> </table> </div> 

cmdajax.php

 <?php session_start(); require_once("includes/database.php"); if(isset($_GET['id'])){ $id=$_GET['id']; } $uid=$_SESSION['uid']; $query="SELECT * FROM `cmds` WHERE `pid` =${id} ORDER BY `id`"; $result=$db->query($query); ?> <table id="tblcmd"> <tr> <?php while($result_set=$db->fetch($result)){ // echo $result_set['cmds']; $uid=$result_set['uid']; $query2="SELECT * FROM `user` WHERE `id` ='${uid}'"; $result2=$db->query($query2); $result_set2=$db->fetch($result2); echo '<td>'.$result_set2['name'].'</td>'; echo '<td>:'.$result_set['cmds'].'</td>'; echo '<td id="'.$result_set['id'] .'"><img src="images/cmd-close.jpg" class="cmdclose" id="'.$result_set['id'] .'" /> </td>'; echo '<td><abbr class="timeago" title="2008-07-17T09:24:17Z">July 17, 2008</abbr></td>'; ?> </tr> <?php } ?> </table> в <?php session_start(); require_once("includes/database.php"); if(isset($_GET['id'])){ $id=$_GET['id']; } $uid=$_SESSION['uid']; $query="SELECT * FROM `cmds` WHERE `pid` =${id} ORDER BY `id`"; $result=$db->query($query); ?> <table id="tblcmd"> <tr> <?php while($result_set=$db->fetch($result)){ // echo $result_set['cmds']; $uid=$result_set['uid']; $query2="SELECT * FROM `user` WHERE `id` ='${uid}'"; $result2=$db->query($query2); $result_set2=$db->fetch($result2); echo '<td>'.$result_set2['name'].'</td>'; echo '<td>:'.$result_set['cmds'].'</td>'; echo '<td id="'.$result_set['id'] .'"><img src="images/cmd-close.jpg" class="cmdclose" id="'.$result_set['id'] .'" /> </td>'; echo '<td><abbr class="timeago" title="2008-07-17T09:24:17Z">July 17, 2008</abbr></td>'; ?> </tr> <?php } ?> </table> 

Моя проблема в том, что после одного обновления страницы или вызова Ajax функция $(".cmdclose").click(function() не будет работать. Почему бы и нет? /// эта проблема решена

теперь я столкнулся с этой проблемой:

JQuery ( "abbr.timeago") timeago (). этот селектор не будет работать должным образом, каков будет резонанс? благодаря

Solutions Collecting From Web of "после того, как функция jquery вызова ajax не работает должным образом"

Поскольку вы ограничили функциональность события click еще до того, как новый контент будет введен в DOM. Таким образом, функциональность не будет доступна для недавно добавленного (введенного) динамического содержимого. Чтобы справиться с этим, вам нужно использовать jQuery для

Так что измените свой код на

 $(function(){ $(".cmdclose").click(function(){ // your code }); }); 

в

 $(function(){ $(document).on("click",".cmdclose",function(){ //your code }); }); 

jQuery on будет работать для текущих и будущих элементов. on является avaialbe от jQuery 1.7+ и далее. Если вы используете предыдущую версию jQuery, используйте live

пытаться:

 $(".cmdclose").live("click",function(){... 

проблема в вашем коде jquery, как ваш код.

 $(".cmdclose").click(function() 

проблема – это «cmdclose», этот класс недоступен в вашем html-параметре.

поэтому сначала вам нужно указать этот класс в теге html, например div, tr и т. д.

после этого его рабочий плз попробует это