【发布时间】:2013-09-24 05:42:02
【问题描述】:
我想使用 twitter bootstrap 3.0 更改 opencart(管理视图)上的选项卡,代码如下:
<ul id="myTab" class="nav nav-tabs">
<li class="active"><a href="#tab-general" data-toggle="tab"><?php echo $tab_general; ?></a></li>
<li class=""><a href="#tab-data" data-toggle="tab"><?php echo $tab_data; ?></a></li>
<li class=""><a href="#tab-design" data-toggle="tab"><?php echo $tab_design; ?></a></li>
</ul>
<div id="myTabContent" class="tab-content">
<div id="tab-general" class="tab-pane fade active in">
<ul id="languages" class="nav nav-tabs">
<?php $i = 0; ?>
<?php foreach ($languages as $language) { ?>
<li class="<?php if ($i == 0) { echo 'active'; } ?>">
<a href="#language<?php echo $language['language_id']; ?>" data-toggle="tab"><img src="view/image/flags/<?php echo $language['image']; ?>" title="<?php echo $language['name']; ?>" /> <?php echo $language['name']; ?></a>
</li>
<?php $i++; } ?>
</ul>
<div id="Mylanguages" class="tab-content">
<?php $a = 0; ?>
<?php foreach ($languages as $language) { ?>
<div id="language<?php echo $language['language_id']; ?>" class="tab-pane fade <?php if ($a == 0) { echo 'active'; } ?> in">
<?php echo $language['language_content']; ?>
</div>
<?php $a++; } ?>
</div>
</div>
<div id="tab-data" class="tab-pane fade">
...
</div>
<div id="tab-design" class="tab-pane fade">
...
</div>
</div>
没有 foreach 的父标签(tab-general、tab-data、tab-design)可以完美地工作
第一次重新加载,语言 1 是活动标签
当点击语言 2 的标签时
- 链接
#language2标签有selected类 -
divid 为language2的标签有显示块但没有active类 - 语言 1
li仍有active类,但语言 2li没有active类。
当我尝试复制 html(通过检查元素)并在 jsfiddle 上制作(修改内容而不是 html 标签)时,它可以完美运行。 Jsfiddle
【问题讨论】:
-
您的 php 代码适用于 Bootstrap 3。当我单击第二个选项卡时,它的类为
active -
请记住,您有
ul#languages和div#languages,它们可能会相互冲突(HTML 中的两个元素不应具有相同的 ID)。一个是.nav.nav-tabs,另一个是.tab-content -
@JofryHS : 抱歉我的错误,我已经改了但还是不行
-
@Bora 在 jsfiddle 代码工作(通过检查元素使用 html 复制)和我的应用程序没有 foreach 但我的应用程序不能使用 foreach。
-
@KapanjadiMomod 我尝试了你的 php 代码并且工作了
标签: php twitter-bootstrap opencart twitter-bootstrap-3