使用json和php添加引导选项卡的问题


Issue with adding bootstrap tabs using json and php

我在使用json文件和php从引导程序添加选项卡和选项卡窗格时遇到问题。

我可以使用以下代码成功添加实际的选项卡项目:

foreach ($json_a["content"] as &$item) {
    echo '<li><a data-toggle="tab" href="#'.$item["name"].'">'.$item["name"].'</a></li>';
}

但是当使用以下代码添加实际选项卡内容时:

foreach ($json_a["content"] as &$item) {
    echo '<div class="tab-pane" id="'.$item["name"].'"></div>';

只有第一个选项卡有效。。。我可以点击第一个选项卡,它会正确显示所有内容,但其他选项卡不会。

我觉得我在俯瞰一些很小的东西,但我已经被难住了一段时间。

如果需要,这里有一个指向JSON文件的链接。http://pastebin.com/MzYzEqM2

谢谢你的帮助!

我认为您的标记语法没有问题,只是可能您没有在JS脚本中初始化.tab()。无论如何,这很好:

样本输出

$json_url = 'http://pastebin.com/raw.php?i=MzYzEqM2';
$data = json_decode(file_get_contents($json_url), true);
?>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<!-- markup -->
<ul class="nav nav-tabs" role="tablist" id="myTab">
    <?php foreach($data['content'] as $content): ?>
        <li class="">
            <a href="#<?php echo $content['name']; ?>" role="tab" data-toggle="tab"><?php echo $content['name']; ?></a>
        </li>
    <?php endforeach; ?>
</ul>
<div class="tab-content">
<?php foreach($data['content'] as $content): ?>
    <div class="tab-pane" id="<?php echo $content['name']; ?>"><?php echo $content['name']; ?></div>
<?php endforeach; ?>
</div>
<script type="text/javascript">
$(function () {
    $('#myTab a:first').tab('show'); // dont FORGET this one
})
</script>