通过单击动态创建的引导手风琴内的链接来发送AJAX请求

时间:2019-01-03 13:40:21

标签: javascript jquery ajax

我有一个像这样动态创建的手风琴:

<div class="panel-body">
<div class="panel-group" id="accordion">

   <div class="panel panel-default" >
      <div class="panel-heading">
         <h5 class="panel-title small">
            <a data-toggle="collapse" data-parent="#accordion" href="#1" class="tasktitle" data-id="1" id="opentask">$name</a>
         </h5>
      </div>
      <div id="1" class="panel-collapse collapse">
         <div class="panel-body">body text</div>
      </div>

   <div class="panel panel-default" >
      <div class="panel-heading">
         <h5 class="panel-title small">
            <a data-toggle="collapse" data-parent="#accordion" href="#2" class="tasktitle" data-id="2" id="opentask">$name</a>
         </h5>
      </div>
      <div id="2" class="panel-collapse collapse">
         <div class="panel-body">body text</div>
      </div>

   </div>
</div>

然后,我有一个静态值,例如 $ loggeduser ,该值对于登录的用户始终是相同的。

由于这是一个动态创建的手风琴,所以每个手风琴节的ID都不相同

我要实现的目标是,当用户单击以打开手风琴时,同时执行AJAX请求,该请求将发送 $ loggeduser 的值以及ID的ID。单击链接所在的手风琴。

这是我用来将信息发送到文件的ajax

$(function(){    
   $("#opentask").click(function(){
      $.get("markread-task.php?id=ID&user=LOGGEDUSERCOMMENT",function(data){
     });
   });
  return false;    
});

但我不知道如何在此链接中使用其他ID

markread-task.php?id=ID&user=LOGGEDUSERCOMMENT

例如,如果用户单击打开手风琴2的链接,则ajax会发送类似这样的链接

markread-task.php?id=2&user=LOGGEDUSERCOMMENT

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

首先,Id必须对每个元素都是唯一的。请改用类或名称。因此,您不能有两个元素的id =“ opentask”。

要在您的click方法中获取data-id值:

$(function(){    
   $(".opentask").click(function(){
      var id = $(this).data('id');
      $.get("markread-task.php?id="+id+"&user=LOGGEDUSERCOMMENT",function(data){
     });
   });
  return false;    
});