0
var Result; 
$(document).ready(function(){  
location.href="index.php?Result=" +1;  
    $("a").click(function(){        
        Result=$(this).attr('id');   
        location.href="index.php?Result=" + Result;

    })
});

<div id="tabs">
    <ul> 
        <?php include "config.php"; 
        $query = "select * from tabs"; 
        $result = mysql_query($query); 
        while ($row = mysql_fetch_array($result)) { 
            $name = $row['name']; $tabid = $row['tabid']; 
            echo '<li><a id="' . $tabid . '" href="#' . $name . '"> ' . $name . '</a></li>'; 
        } ?> 
    </ul>
</div>

つまり、mysqlクエリを使用してデータベースからフェッチされる7つのタブがあります。各タブをクリックすると、タブ値がjavascriptからphp変数に渡され、そのタブ値を使用して、データをタブにロードするために必要なクエリが実行されます。私の問題はデフォルトで最初のタブコンテンツをロードできません。クリックすると、最初のタブコンテンツが正しくロードされます。最初のタブコンテンツをデフォルトでロードする場合は、jquery uiタブを使用します。上記のコードに従って、onclickの前に最初のタブを呼び出します。それは複数回ロードされています....そしてフォーカスさえデフォルトで最初のタブに移動しています...解決策を提案します......ありがとう....

4

4 に答える 4

0

これにより、最初のタブクリックが自動的にトリガーされます。

<script type="text/javascript">
$('.parent > a').trigger('click');
</script>
于 2013-03-18T09:36:11.033 に答える
0

これを試して

var Result = 1; 
 $(document).ready(function(){  
   location.href="index.php?Result=" + Result;  
   $("a").click(function(){        
      Result=$(this).attr('id');   
      location.href="index.php?Result=" + Result;

  })
})
于 2013-03-18T09:30:08.987 に答える
0
var Result; 
$(document).ready(function(){  
    $("a").click(function(){        
        Result=$(this).attr('id');   
        location.href="index.php?Result=" + Result;

    })
}

そしてボディタグ

<body onload="location.href='index.php?Result=1'">
于 2013-03-18T09:34:54.363 に答える
0

その理由は、同じファイルからindex.phpにリダイレクトしているためです。したがって、ドキュメントレディ関数の最初の実行中に、異なるクエリ文字列パラメータを使用して同じファイルにリダイレクトされます。ただし、ドキュメント準備機能が再び実行されるため、リロードを続行します。

最も簡単なアプローチは、PHPでこれを処理することです。「結果」パラメーターが設定されていない場合は、1にします。

javascriptの方法で、クエリ文字列の値を取得し、「結果」パラメータが設定されているかどうかを確認できます。設定されていない場合は、ページをindex.php?Result=1にリダイレクトします。

クエリ文字列パラメータを取得するjavascriptの方法は次のとおりです。

function param(name)
{
var url = window.location.search.substring(1);
var query = url.split('?')[0];
var data = query.split('&');
    for(var i in data)
    {
      if(data[i].split('=')[0] == name)
      {
         return data[i].split('=')[1];
      }
    }
}

を使用して呼び出すことができます

var page_num = param('Result');
if(page_num == null)
{
   location.href = 'index.php?Result=1';
}
于 2013-03-18T09:49:26.643 に答える