0

タブとサブタブを含むページがあり、それらはすべて、タブ (またはサブタブ) がクリックされたときに開始される ajax 呼び出しによって「入力」されます。

あるタブ x サブタブ コンボのコンテンツから別のタブ x サブタブ コンボにハイパーリンクすると、正しいタブ x サブタブが選択されますが、クリック イベントが発生しないため、コンテンツが読み込まれません。

私の計画は次のとおりです。

  1. リンク先のli要素のIDを取得する
  2. その中の a タグを見つけて、その ID を取得します
  3. その ID を .trigger('click') 呼び出しで使用して、ajax 呼び出しを開始し、そのコンテンツをロードします (ID には、バックエンド処理に必要な情報が含まれています)。

リンクの a タグにクラスを追加し、次の関数を使用しています。「tst」は、リンク先のサブタブではなく、現在のサブタブ li の ID を提供するため、失敗します。

$('a.totab').live("click",function(){
    var tst = $('li.ui-tabs-selected.pagelink').attr('id');
    var tst2 = $('#'+tst).find('a').attr('id');
    $('#'+tst2).trigger('click');
});

「pagelink」は、サブタブの li 要素にのみ表示されるクラスです。リンクの URL は 'growsafe.asp?id=Z321141S39#techbox=2&sm=4' の形式です。techbox=2 は親タブのインデックス、sm はサブタブのインデックスです。

ここで先に進む方法を概念化することはできません-提案は非常に高く評価されています.

ありがとう/ブルース

4

1 に答える 1

0
$('a.totab').live("click",function(){
    var tst = $(this).attr('id');
    var tst2 = $('#'+tst).find('a').attr('id');
    $('#'+tst2).trigger('click');
});

クリックされた要素には $(this) を使用します。ただし、JavaScript は非常に紛らわしいため、HTML も投稿すると、質問に対してより最適化されたソリューションを提供しやすくなります。

于 2012-08-23T09:51:44.010 に答える