【发布时间】:2017-09-07 15:19:46
【问题描述】:
我有 2 个数据库表。一个用于菜单名称,另一个用于子菜单名称。有些菜单没有子菜单。我想创建一个导航菜单,它将检查菜单是否有子菜单。如果它有子菜单,它会将 data-toggle="dropdown" 添加到该菜单,以便可以在下拉框中看到子菜单。这是我的代码,我不明白为什么我的代码不工作或者我的逻辑在 HTML 中是怎样的。
function myFunction()
{
$(".dropdown-toggle").attr("data-toggle", "dropdown");
}
<nav class="navbar fixed-top navbar-expand-lg navbar-dark bg-dark fixed-top">
<a class="navbar-brand" href="<?php echo base_url('welcome/index')?>">
<img src="<?php echo base_url()?>assets/images/logos/logo.png" alt="LogoFOR2401" title="LogoFOR2401">
</a>
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ml-auto">
<?php foreach ($navigationmenu as $navigationmenu_item): ?>
<li class="nav-item">
<a href="<?php echo base_url('welcome/menu')?>/<?php echo $navigationmenu_item['MenuID']; ?>" class="nav-link dropdown-toggle" name="<?php echo $navigationmenu_item['MenuName']; ?>" id="navbarDropdownBlog" aria-haspopup="true" aria-expanded="false"><?php echo $navigationmenu_item['MenuName']; ?></a>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdownBlog">
<?php foreach ($submenu as $submenu_item): ?>
<?php if($navigationmenu_item['MenuID'] == $submenu_item['MenuID']) {?>
echo "<script type="text/javascript">myFunction();</script>";
<!--echo "function myFunction();";-->
<!--echo "</script>";-->
<a class="dropdown-item" href="<?php echo base_url('welcome/submenu')?>/<?php echo $submenu_item['SubMenuID']; ?>"><?php echo $submenu_item['SubMenuName']; ?></a>
<?php } ?>
<?php endforeach; ?>
</div>
</li>
<?php endforeach; ?>
</ul>
</div>
</nav>
【问题讨论】:
-
你为什么要注入 Javascript 来做到这一点?它应该只是一些相当简单的 PHP。并且脚本无论如何都会对具有下拉切换类的所有元素执行此操作,而不仅仅是一个。
-
你能给我举个例子吗? @ADyson
标签: javascript php jquery html codeigniter-3