2

いくつかの PHP 条件が満たされたときに、タブがアクティブになるようにトリガーしたいと考えています。

これは私が使用しているブートストラップ コードです。これはナビゲーション ピルであり、切り替え可能/動的です。

https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>

<ul class="nav nav-pills">
  <li class="active"><a data-toggle="pill" href="#home">Home</a></li>
  <li><a data-toggle="pill" href="#menu1">Menu 1</a></li>
  <li><a data-toggle="pill" href="#menu2">Menu 2</a></li>
</ul>

<div class="tab-content">
  <div id="home" class="tab-pane fade in active">
    <h3>HOME</h3>
    <p>Some content.</p>
  </div>
  <div id="menu1" class="tab-pane fade">
    <h3>Menu 1</h3>
    <p>Some content in menu 1.</p>
  </div>
  <div id="menu2" class="tab-pane fade">
    <h3>Menu 2</h3>
    <p>Some content in menu 2.</p>
  </div>
</div>

デフォルトでは、[ホーム] タブがアクティブになっています。$_SESSION['variable1']ページが読み込まれる前に、グローバル変数 ieが設定されているかどうかを確認したいと思います。設定されていない場合は、menu2 をアクティブに設定する必要があります。

コードの先頭で、これを実行しようとしましたが、うまくいきませんでした

if (!isset($_SESSION['variable1'])){

echo " <script type=\"text/javascript\"> $('.nav-pills
a[href=\"#menu2\"]').tab('show') </script>";

}

しかし、要素を調べて、上記の JavaScript コードをコンソールに貼り付けると、うまくいきます! ただし、コードで実行できないようです。ホームタブはアクティブなままです。

4

3 に答える 3

4

HTML がロードされる前にスクリプトを実行しています。

私はそれを試してみましたが、.php コードの最後に PHP コードを配置すると機能します<body>

        ...
        </div>
    </div>
    <?php
    if (!isset($_SESSION['variable1'])){

        echo " <script type=\"text/javascript\"> $('.nav-pills
        a[href=\"#menu2\"]').tab('show') </script>";

    }
    ?>
</body>
于 2015-12-05T12:40:14.573 に答える
0

jquery を使用してクラスを追加することはできますか?

<script>
$(document).ready(function(){
  <?php 
     if (!isset($_SESSION['variable1'])){
  }?>
  $(".tab-pane").removeClass("active");
  $("#menu2").addClass("active");
<?php }
  ?>
});
</script>

これがうまくいくことを願っています...

于 2015-12-05T13:08:18.360 に答える
0

私はそれを機能させる方法を見つけました。

本体の最後に付けました。私がしたばかげた間違いでした。

実際には、ステートメントは常に false を返します。

if (!isset($_SESSION['variable1'])){

echo " <script type=\"text/javascript\"> $('.nav-pills
a[href=\"#menu2\"]').tab('show') </script>";

}

内部のコードを実行しませんでした。$_SESSION['variable1'] には常に値があるため、ある時点でそれをクリアしたり破棄したりしたことはありません。すべてを初期化するために使用する必要がありsession_detroy()ました。そして、それは魅力のように機能します。

ありがとう

于 2015-12-05T13:09:42.187 に答える