2012-03-26 16 views
0

私はjQuery UI Tabsを使用して、ユーザーがタブをクリックしたときにAjax経由でコンテンツを読み込みます。私が望むのは、ユーザーがタブをクリックすることなくページが読み込まれたときに自動的に最初のタブのコンテンツを読み込むことです。これをどのように達成するのですか? は自動的にajax読み込みコンテンツを読み込みます(jquery UIタブ)

あなたは

答えて

2

だけでページのロードの最初のタブ(0)のタブの読み込みメソッドを呼び出してありがとう:

$(function() { 
    $("#tabs").tabs("load" , 0); 
} 

はこれだけのコンテンツをロードします。タブを選択する場合は、コンテンツを読み込むselectを使用します。

$(function() { 
    $("#tabs").tabs("select" , tabIndex); 
} 


編集:デフォルトのタブロードしている場合、これは必要ではないはず

$(function() { 
    $("#tabs").tabs("option", "active", tabIndex); 
} 

デモ:jQueryのの新しいバージョンのを、あなたはactiveオプションを使用する必要があります。 http://jsfiddle.net/jtbowden/8zkfrbee

+0

正確な問題はありますが、この解決策は機能しません。私は 'jquery 1.10.2'と' jquery-ui 1.11.1'を使用しています。助けてくれますか? –

+0

@MrudangVora新しいバージョンのjQueryでは、 '.tabs(" option "、" active "、tabIndex)'を使う必要があります。デモ:jsfiddle.net/jtbowden/8zkfrbee –

+0

試しましたが、クリックされない限り、最初のタブに 'partialview'を自動的に読み込まないようにしました。私はajaxを使って各タブクリックで 'partialview'をロードしようとしています。 –

0
$(document).ready(function(){ 
    $("#tabs").tabs("load" , 0); 
}); 

コンテンツを事前に保存することもできますid="tabs-1"を持っていますが、事前にロードされたアプローチを使用するならば、あなたは内の要素を含めることができますように見えます

<li><a href="#tabs-1">First tab</a><li> 
0

を使用する代わりに<li>の内側にあなたの最初の<a>にURLを使用する必要はありません。最初のdivの内側にDED ajaxを使用したくない場合は、上部のタグ要素を使用してタブを設定します。テキストを含む要素のIDは、タブのアンカータグと一致する必要があります。

<script> 
    $(function() { 
     $("#tabs").tabs(); 
    }); 
</script> 

<div id="tabs"> 
    <ul> 
     <li><a href="#tabs-1">Preloaded</a></li> 
     <li><a href="#tabs-2">Tab 1</a></li> 
     <li><a href="ajax/content2.html">Tab 2</a></li> 
     <li><a href="ajax/content3-slow.php">Tab 3 (slow)</a></li> 
     <li><a href="ajax/content4-broken.php">Tab 4 (broken)</a></li> 
    </ul> 
    <div id="tabs-1"> 
     <p>Hello, Tab One.</p> 
    </div> 
    <div id="tabs-2"> 
     <p>Hello, Tab Two.</p> 
    </div> 
</div> 
関連する問題