[英]How to add submenu to clicked button
I have dropdown list like this: 我有这样的下拉列表:
Which consists of a few buttons. 其中包含几个按钮。 On click on either of this marked buttons sub-menu should appear with some data that I'm getting via
AJAX
. 单击此标记的按钮之一后,子菜单应显示一些我通过
AJAX
获取的数据。 So, eventually it should look like this: 因此,最终应该看起来像这样:
This is the code of my dropdown: 这是我的下拉菜单的代码:
<ul class="dropdown-menu">
<?php
foreach($applications as $application){
echo "<li><button type='button' style='width:100%;' value='".$application['facebook_id']."' onclick='setSession(this.value);'>".$application['app_name']."</button></li>";
} ?>
<?php if($resultForUpperQuery){
echo '<hr>';
while($names=$resultForUpperQuery->fetch_assoc()){
$groupname=$names['ime_grupe'];
echo "<li><button type='button' style='width:100%;' value='".$groupname."' onclick='showDetails(this.value);'>".$groupname."</button></li>";
}
echo '<hr>';
}
?>
<?php if(isset($_SESSION['ap_id'])){
echo '
<li><a href="" data-target="#createAppGroup" data-toggle="modal">Create App Group</a></li>';}?>
<li><a href="app_setup.php">Add new app</a></li>
</ul>
So each button has onclick="showDetails(this.value)"
functions which looks like this: 因此,每个按钮都有
onclick="showDetails(this.value)"
函数,如下所示:
function showDetails(o){
var data = {};
var groupName = o;
data.action2='showConsistsOf';
data.groupName=groupName;
$.ajax({
url: "../includes/adapter.php",
type: "POST",
dataType: "JSON",
data: data,
async: true,
success: function (data) {
if(data){
//console.log(data);
for(var i=0;i<data.length;i++){
$('button[value=groupName]').append('<li>+data[i]+</li>');
}
}
else {
}
}
});
}
And data retrieved looks like this: 检索到的数据如下所示:
["Notiflow", "Konfidence Hrvatska"]
So, its basically as array whose values should be part of submenu dropdown. 因此,它基本上是一个数组,其值应该是子菜单下拉菜单的一部分。 And I tried to make this submenu like this, as you can see from above code as well:
而且我试图使这个子菜单像这样,正如您从上述代码中也可以看到的那样:
success: function (data) {
if(data){
console.log(data);
for(var i=0;i<data.length;i++){
$('button[value=groupName]').append('<li>+data[i]+</li>');
}
}
}
So foreach value in data I tried to append <li>
to button which click fired the function. 因此,数据中的foreach值我试图将
<li>
附加到单击该函数的按钮上。 But click on button just closes the dropdown. 但是单击按钮只会关闭下拉菜单。 Really don't know how to solve this.
真的不知道该怎么解决。
尝试这样调用您的函数:
$(".dropdown-menu").on("click", ".button", function() {.......} );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.