我有一个动态创建的 Accordion ,如下所示:
<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,它对于登录用户来说始终相同。
由于这是一个动态创建的 Accordion ,因此每个 Accordion 部分的 id 是不同的
我想要实现的是,当用户单击打开 Accordion 时,同时执行 AJAX 请求,该请求将发送 $loggeduser 的值以及 Accordion 中放置了单击的链接。
这是我用来将信息发送到文件的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
例如,如果用户单击打开 Accordion 2 的链接,ajax 会发送如下链接
markread-task.php?id=2&user=LOGGEDUSERCOMMENT
感谢您的帮助
最佳答案
首先,每个元素的Id必须是唯一的。请改用类或名称。所以你不能有两个 id="opentask"的元素。
要在点击方法中获取 data-id 值:
$(function(){
$(".opentask").click(function(){
var id = $(this).data('id');
$.get("markread-task.php?id="+id+"&user=LOGGEDUSERCOMMENT",function(data){
});
});
return false;
});
关于javascript - 通过单击动态创建的引导 Accordion 内的链接发送 AJAX 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54023453/