私のコード
function get_projects() {
$.ajax ({
url: "get_projects.php",
type: "post",
dataType: "json",
data: {value : $("#search_term").val()},
success: function(store) {
var a = 0;
var b = 0;
$("#testdiv").empty();
var content = '';
$.each(store, function(i, data) {
a = a + 1;
content += '<div id="tabs'+[i]+'">';
content += '<ul>';
content += //.... a bunch of tab headings
content += '</ul>';
content += '<div id="ui-tabs-'+(a+b)+'">';
// ... some tab content
content += '</div>';
content += '<div id="ui-tabs-'+(a+1+b)+'">';
// ... some tab content for each tab up to
content += '<div id="ui-tabs-'+(a+5+b)+'">';
// ... some tab content
content += '</div>';
content += '</div>';
b = b + 5;
});
$("#testdiv").append(content);
$("#tabs0").tabs();
$("#tabs1").tabs();
$("#tabs2").tabs();
.... same thing for a bunch of other possible tabs up to #tabs20
簡単な説明
asearch_term
は複数projects
になる可能性があり、各プロジェクトには 6 つのタブがあります。そのため、検索用語が送信されるたびに、新しいプロジェクトとその情報のタブでページが再描画されます
問題
HTMLがページに初めて挿入されたときは、すべて問題ありません。
生成された div id は、カウンターui-tabs-#
で作成した div id と一致します。(a+...+b)
ただし、後続の各リクエストでは、自動生成された div id 番号が累積され、ゼロから再び開始されることはありません。私の(a+...+b)
カウンターは一致しないdiv idを生成しています。その結果、タブのコンテンツはタブ コンテナーの外側に配置されます。
私は、ループの内外で and.tabs("destroy")
と個人.tabs("remove")
の両方を試しました$("#testdiv")
$("#tabs0")
$.each()
私はそれを解決することができないようです
どんな助けや提案も素晴らしいでしょう