إظهار علامة تبويب واجهة مستخدم Jquery الجديدة بعد إنشائها

0

أحاول الحصول على علامة تبويب jQuery UI لإظهار (فتح اللوحة المرتبطة بعلامة التبويب) في المتصفح عندما يضيف المستخدم علامة تبويب جديدة. حاليا هذا ما تبدو عليه وظائف إضافة علامة التبويب الخاصة بي.

let tabs = $("#tabs")
        .tabs({
            heightStyle: "content",
        })
        .on("click", ".delete-tab", function () {
            let panelName = $(this).closest("li").children('a').text();
            $('#deleteLocationModal').addClass('open');
            $('.locationNameHere').text(panelName);
            tabDelete = $(this).closest("li");
            deleteLocationNum = $(this).attr('data-locNum');
            console.log(deleteLocationNum);
        });

let locationNum = 1; //Tracks the number of tabs created, NOT the number of tabs on the screen

/**
 * Create a new tab
 * Create a new panel
 */
$("#addTab").on("click", function (evt) {
    /*addTab();*/
    locationNum++;
    let newTab = (generateTab(locationNum));
    $("#tabs").find("#addTab").before(newTab);
    let newPanel = (generatePanel(locationNum));
    $("#tabs").append(newPanel);
    $('#tabs').tabs("refresh");
    evt.preventDefault();
});

function generateTab(num) {
        return '<li class="tab"><a href="#location_' + num + '">New Location</a> <span data-locNum="' + num + '" class="delete-tab">&times;</span></li>';

    }

لقد حاولت النظر إلى الوثائق ولكن ليس من الواضح حقًا ما هو الأمر الذي سيظهر علامة التبويب عند إنشاء أي علامة تبويب.

1 إجابة

0

يمكنك استخدام محدد jQuery بدلاً من عنصر DOM الفعلي أو معالجة كائن علامات التبويب لتعيين علامة تبويب معينة على أنها نشطة.

باستخدام محدد jQuery:

function generateTab() {
  return $('<li>Some Tab</li>');
}

وثم

$tab = generateTab();
$tab.someFocusFunction();

تعديل كائن علامات التبويب مباشرة:

$('#tabs').tabs({ 
  active: $tab.attr('id');
});
:مؤلف

أسئلة ذات صلة

فوق
قائمة طعام