ダイアログ ウィジェット内にタブ jQuery UI ウィジェットを貼り付けようとしていますが、うまくいきません。データベースから大量のデータを取得し、画面にレンダリングしています。ユーザーが (+) ボタンをクリックすると、内容がタブ化されたダイアログが開きます。何らかの理由でこれが機能していません。これが私のコードです:
HTML 構造は次のとおりです。
<div id="tabs-{index}">
<ul>
<li><a href="#some-id-{index}">title1</a></li>
<li><a href="#another-id-{index}">title2</a></li>
</ul>
<div id="some-id-{index}>content</div>
<div id="another-id-{index}">content</div>
</div>
そして、ここに私のjQueryコードがあります:
$('#disease-read-more-dialog').dialog({
dialogClass: 'disease-read-more',
autoOpen: false,
modal: false,
draggable: false,
width: '500px',
open: function () {
$('#ui-dialog-title-disease-read-more-dialog').html($('#disease-read-more-dialog').attr('title'));
var content = $('#disease-read-more-dialog').find('.hidden-disease-info').first();
if (content.length > 0) {
var index = content.data('index');
var selector = '#read-more-tabs-' + index;
$(selector).tabs();
}
}
});
AJAXリクエストを実行するのではなく(データ量が比較的少ないため)、ページの読み込み時にすべてのデータを画面に出力したため、インデックスが単純に使用され、ユーザーが(+)をクリックすると読み込まれることに注意してくださいHTML コンテンツをダイアログに挿入します。したがって、インデックスはタグ ID の混乱を防ぐために使用されます。
アップデート:
への呼び出しのように$(selector).tabs()
機能しません。本来の機能を実行しません。したがって、実際にレンダリングされるのは、タブ コントロールではなく、順序付けられていないリストです。
これが機能しない理由はありますか?