1

2つのタブしかないこのjQueryUIタブモデルがあり、Ajaxを介してコンテンツをロードする必要があります。問題は、これらのタブがjQuery UIダイアログ内に読み込まれ、mid動的であるということです。つまり、ダイアログはリンク(を含むmid=X)をクリックすると起動します。

コードは次のようなものです。

Javascript:

$('.item-movie-link').each(function() {
    $(this).parent().click(function() {
        $('#tabs-movie li a[href$=info]').attr('href', $(this).attr('href') + '&op=info');
        $('#tabs-movie li a[href$=cast]').attr('href', $(this).attr('href') + '&op=cast');

        $('#dialog-movie-info').dialog('open');
        $('#tabs-movie').tabs();

        return false;
    });
});

HTML:

<div id="dialog-movie-info">
  <div id="tabs-movie">
    <ul>
      <li><a href="#tab-info"><img src="template/images/icon-tab-movie-info.png" alt="" />Information</a></li>
      <li><a href="#tab-cast"><img src="template/images/icon-tab-movie-cast.png" alt="" />Cast List</a></li>
    </ul>
  </div>
</div>

これは、最初にそれら.item-movie-linkの1つをクリックしたときに機能しますが、ダイアログを閉じて別のリンクをクリックした後は機能せず、同じ情報が表示されます。

どうすればこれを機能させることができますか?たぶん、これにはもっと良いアプローチがありますか?

4

1 に答える 1

1

私の問題はclose、jQueryUIダイアログのイベントでjQueryUIタブを破棄することで修正されました。

$('#tabs-movie').tabs('destroy');
于 2010-12-08T19:46:07.740 に答える