其中包含几个按钮。点击其中任何一个标记的按钮后,子菜单应显示我通过AJAX
获得的一些数据。所以,最终看起来应该是这样的:
这是我的下拉代码:
<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>
因此每个按钮都有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 {
}
}
});
}
检索到的数据如下所示:
["Notiflow", "Konfidence Hrvatska"]
所以,它基本上是数组,其值应该是子菜单下拉列表的一部分。 我试着像这样制作这个子菜单,正如你从上面的代码中看到的那样:
success: function (data) {
if(data){
console.log(data);
for(var i=0;i<data.length;i++){
$('button[value=groupName]').append('<li>+data[i]+</li>');
}
}
}
因此,数据中的foreach值我尝试将<li>
附加到单击该按钮的按钮上。但点击按钮只需关闭下拉列表。真的不知道怎么解决这个问题。
答案 0 :(得分:0)
尝试按照以下方式调用您的函数:
$(".dropdown-menu").on("click", ".button", function() {.......} );