{"id":7293,"date":"2025-12-12T07:09:00","date_gmt":"2025-12-12T07:09:00","guid":{"rendered":"https:\/\/tmsdoyle.com\/?page_id=7293"},"modified":"2026-01-13T06:07:02","modified_gmt":"2026-01-13T06:07:02","slug":"current-openings","status":"publish","type":"page","link":"https:\/\/tmsdoyle.com\/zh\/current-openings\/","title":{"rendered":"Current Openings"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"7293\" class=\"elementor elementor-7293\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9374047 e-con-full e-flex e-con e-parent\" data-id=\"9374047\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dc9cd13 elementor-widget elementor-widget-tv_career_grid\" data-id=\"dc9cd13\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"tv_career_grid.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div id=\"tv-insight-grid-dc9cd13\" class=\"tv-insight-grid-wrap\" data-widget-id=\"dc9cd13\"><div class=\"tv-insight-filters-wrap\"><div class=\"tv-insight-filters-search\"><div class=\"career-wraper\" style=\"margin:auto; width:100%;\">\n        <div class=\"tv-active-filters\" style=\"display:none;\">\n            <h5>Filters:<\/h5>\n            <div class=\"tv-active-filters-list\"><\/div>\n        <\/div><div class=\"tv-filter-section tv-search-section\"><input type=\"text\" class=\"tv-search-input\" placeholder=\"Search by Job Title\"><\/div><div class=\"tv-insight-filters\"><div class=\"tv-filter-section\"><select \n                class=\"tv-filter-dropdown\"\n                name=\"filter_function-department[]\"\n                multiple\n data-taxonomy=\"function-department\"\n                data-label=\"Function \/ Department\"\n                data-placeholder=\"Function \/ Department\"><option value=\"all\">All<\/option><option value=\"analytics-insights\">Analytics & Insights<\/option><option value=\"commercial-excellence\">Commercial Excellence<\/option><option value=\"deal-advisory\">Deal Advisory<\/option><option value=\"strategy-consulting\">Strategy & Consulting<\/option><\/select><\/div><div class=\"tv-filter-section\"><select \n                class=\"tv-filter-dropdown\"\n                name=\"filter_experience[]\"\n                multiple\n data-taxonomy=\"experience\"\n                data-label=\"Experience Level\"\n                data-placeholder=\"Experience Level\"><option value=\"all\">All<\/option><option value=\"0-1-year\">0-1 Year<\/option><option value=\"2-3-years\">2-3 Years<\/option><option value=\"4-5-years\">4-5 Years<\/option><option value=\"6-7-years\">6-7 Years<\/option><option value=\"8-years\">8 + Years<\/option><\/select><\/div><div class=\"tv-filter-section\"><select \n                class=\"tv-filter-dropdown\"\n                name=\"filter_job-type[]\"\n                multiple\n data-taxonomy=\"job-type\"\n                data-label=\"Job Type\"\n                data-placeholder=\"Job Type\"><option value=\"all\">All<\/option><option value=\"full-time\">Full Time<\/option><option value=\"part-time\">Part Time<\/option><option value=\"work-from-home\">Work From Home<\/option><\/select><\/div><div class=\"tv-filter-section\"><select \n                class=\"tv-filter-dropdown\"\n                name=\"filter_location[]\"\n                multiple\n data-taxonomy=\"location\"\n                data-label=\"Job Location\"\n                data-placeholder=\"Job Location\"><option value=\"all\">All<\/option><option value=\"maharashtra\">Maharashtra<\/option><option value=\"uttar-pradesh\">Uttar Pradesh<\/option><\/select><\/div><div class=\"tv-filter-apply-wrapper\"><button type=\"button\" class=\"tv-filter-submit\"><span class=\"btn-text\">Apply<\/span><span class=\"btn-loader\" aria-hidden=\"true\"><\/span><\/button><button type=\"button\" class=\"tv-filter-clear\"><i aria-hidden=\"true\" class=\"icon icon-cancel\"><\/i><\/button><\/div><\/div><\/div><\/div>\n        <div class=\"tv-insight-loading\" style=\"display:none; text-align:center; padding:40px;\">\n            <div class=\"tv-loader\"><\/div>\n            <p>Loading careers...<\/p>\n        <\/div><div class=\"tv-insight-grid-container career-wraper btn-false\" style=\"margin:auto; width:100%;\"><div class=\"tv-insight-grid\"><article class=\"tv-insight-card\" data-terms=\"function-department:commercial-excellence,experience:6-7-years,job-type:part-time,location:maharashtra\"><div class=\"tv-insight-card-inner\"><h3 class=\"tv-insight-card-title\"><a href=\"https:\/\/tmsdoyle.com\/zh\/career\/srt-ma-deal-transformation-post-merger-integration-icc-manager-is-3\/\">SRT \u2013 M&A Deal Transformation & Post Merger integration ICC \u2013 Manager \u2013 I&S<\/a><\/h3><div class=\"tv-insight-card-meta-row\"><div class=\"tv-insight-card-meta tv-insight-card-date\"><i aria-hidden=\"true\" class=\"icon icon-calendar mr-5\"><\/i>12 \u6708 18, 2025<\/div><div class=\"tv-insight-card-meta tv-insight-card-address\"><i aria-hidden=\"true\" class=\"icon icon-map-marker1 mr-5\"><\/i>Pune, Maharashtra<\/div><\/div><\/div><\/article><article class=\"tv-insight-card\" data-terms=\"function-department:analytics-insights,function-department:strategy-consulting,experience:0-1-year,job-type:work-from-home,location:maharashtra\"><div class=\"tv-insight-card-inner\"><h3 class=\"tv-insight-card-title\"><a href=\"https:\/\/tmsdoyle.com\/zh\/career\/senior-consultant-d365-certifications-dynamics-365-finance-functional-consultant-associate-ahm-3\/\">Senior Consultant | D365 Certifications (Dynamics 365 Finance Functional Consultant Associate) | Ahm<\/a><\/h3><div class=\"tv-insight-card-meta-row\"><div class=\"tv-insight-card-meta tv-insight-card-date\"><i aria-hidden=\"true\" class=\"icon icon-calendar mr-5\"><\/i>12 \u6708 18, 2025<\/div><div class=\"tv-insight-card-meta tv-insight-card-address\"><i aria-hidden=\"true\" class=\"icon icon-map-marker1 mr-5\"><\/i>Thane, Maharashtra<\/div><\/div><\/div><\/article><article class=\"tv-insight-card\" data-terms=\"function-department:strategy-consulting,experience:6-7-years,job-type:part-time,location:uttar-pradesh\"><div class=\"tv-insight-card-inner\"><h3 class=\"tv-insight-card-title\"><a href=\"https:\/\/tmsdoyle.com\/zh\/career\/srt-infrastructure-real-estate-infrastructure-advisory-senior-executive-2\/\">SRT \u2013 Infrastructure & Real Estate \u2013 Infrastructure Advisory \u2013 Senior Executive<\/a><\/h3><div class=\"tv-insight-card-meta-row\"><div class=\"tv-insight-card-meta tv-insight-card-date\"><i aria-hidden=\"true\" class=\"icon icon-calendar mr-5\"><\/i>12 \u6708 18, 2025<\/div><div class=\"tv-insight-card-meta tv-insight-card-address\"><i aria-hidden=\"true\" class=\"icon icon-map-marker1 mr-5\"><\/i>Noida, Uttar Pradesh<\/div><\/div><\/div><\/article><article class=\"tv-insight-card\" data-terms=\"function-department:analytics-insights,function-department:commercial-excellence,experience:2-3-years,job-type:full-time,location:maharashtra\"><div class=\"tv-insight-card-inner\"><h3 class=\"tv-insight-card-title\"><a href=\"https:\/\/tmsdoyle.com\/zh\/career\/srt-ma-deal-transformation-post-merger-integration-icc-manager-is-2\/\">SRT \u2013 M&A Deal Transformation & Post Merger integration ICC \u2013 Manager \u2013 I&S<\/a><\/h3><div class=\"tv-insight-card-meta-row\"><div class=\"tv-insight-card-meta tv-insight-card-date\"><i aria-hidden=\"true\" class=\"icon icon-calendar mr-5\"><\/i>12 \u6708 18, 2025<\/div><div class=\"tv-insight-card-meta tv-insight-card-address\"><i aria-hidden=\"true\" class=\"icon icon-map-marker1 mr-5\"><\/i>Pune, Maharashtra<\/div><\/div><\/div><\/article><article class=\"tv-insight-card\" data-terms=\"function-department:deal-advisory,function-department:strategy-consulting,experience:4-5-years,job-type:full-time,location:maharashtra\"><div class=\"tv-insight-card-inner\"><h3 class=\"tv-insight-card-title\"><a href=\"https:\/\/tmsdoyle.com\/zh\/career\/senior-consultant-d365-certifications-dynamics-365-finance-functional-consultant-associate-ahm-2\/\">Senior Consultant | D365 Certifications (Dynamics 365 Finance Functional Consultant Associate) | Ahm<\/a><\/h3><div class=\"tv-insight-card-meta-row\"><div class=\"tv-insight-card-meta tv-insight-card-date\"><i aria-hidden=\"true\" class=\"icon icon-calendar mr-5\"><\/i>12 \u6708 18, 2025<\/div><div class=\"tv-insight-card-meta tv-insight-card-address\"><i aria-hidden=\"true\" class=\"icon icon-map-marker1 mr-5\"><\/i>Thane, Maharashtra<\/div><\/div><\/div><\/article><article class=\"tv-insight-card\" data-terms=\"function-department:analytics-insights,function-department:commercial-excellence,function-department:deal-advisory,function-department:strategy-consulting,location:uttar-pradesh\"><div class=\"tv-insight-card-inner\"><h3 class=\"tv-insight-card-title\"><a href=\"https:\/\/tmsdoyle.com\/zh\/career\/tt-customer-mc-campaign-developer-consultant\/\">T&T Customer M&C Campaign Developer Consultant<\/a><\/h3><div class=\"tv-insight-card-meta-row\"><div class=\"tv-insight-card-meta tv-insight-card-date\"><i aria-hidden=\"true\" class=\"icon icon-calendar mr-5\"><\/i>12 \u6708 18, 2025<\/div><div class=\"tv-insight-card-meta tv-insight-card-address\"><i aria-hidden=\"true\" class=\"icon icon-map-marker1 mr-5\"><\/i>Noida, Uttar Pradesh<\/div><\/div><\/div><\/article><\/div><div class=\"tv-insight-pagination\" data-initial=\"1\"><span class=\"tv-insight-page-link\"><span aria-current=\"page\" class=\"page-numbers current\">1<\/span><\/span><span class=\"tv-insight-page-link\"><a class=\"page-numbers\" href=\"?paged=2\">2<\/a><\/span><span class=\"tv-insight-page-link\"><a class=\"next page-numbers\" href=\"?paged=2\">\u00bb<\/a><\/span><\/div><\/div>\n        <div class=\"tv-ajax-data\" style=\"display:none;\"\n            data-posts-per-page=\"6\"\n            data-order=\"DESC\"\n            data-orderby=\"date\"\n            data-query-type=\"auto\"\n            data-manual-posts=\"\">\n        <\/div><\/div>        <!-- Select2 assets from CDN -->\n\n        <style>\n            .tv-insight-filters {\n                display: grid;\n                grid-template-columns: repeat(5, minmax(0, 1fr));\n                gap: 24px;\n                margin-bottom: 50px;\n            }\n            \n            \n            .tv-insight-grid-wrap .tv-search-section {\n                width: 100%;\n            }\n            \n            .tv-insight-grid-wrap .tv-search-input {\n                width: 100%;\n                padding: 12px 20px;\n                border: 1px solid #ddd;\n                border-radius: 20px;\n                background-color: transparent;\n                color: #666;\n                font-size: 14px;\n                transition: all 0.3s ease;\n                min-height: 44px;\n            }\n            \n            .tv-insight-grid-wrap .tv-search-input:focus {\n                outline: none;\n                border-color: #999;\n                background-color: #f5f5f5;\n            }\n            \n            .tv-insight-grid-wrap .tv-search-input::placeholder {\n                color: #999;\n            }\n            \n            \/* Dropdown styling *\/\n            .tv-insight-grid-wrap .tv-filter-dropdown {\n                width: 100%;\n                min-height: 44px;\n            }\n            \n            .tv-insight-grid-wrap .select2-container--default .select2-selection--single {\n                border-radius: 20px;\n                border: 1px solid #ddd;\n                height: 44px;\n                display: flex;\n                align-items: center;\n                background-color: transparent;\n                color: #666;\n            }\n            \n            .tv-insight-grid-wrap .select2-container--default .select2-selection--single .select2-selection__rendered {\n                width: 100%;\n                height: 100%;\n                display: flex;\n                align-items: center;\n                padding-left: 20px;\n                padding-right: 30px;\n            }\n            \n            .tv-insight-grid-wrap .select2-container--default .select2-selection--single .select2-selection__placeholder {\n                color: #999;\n            }\n            \n            .tv-insight-grid-wrap .select2-container--default .select2-selection--single .select2-selection__arrow {\n                height: 100%;\n                right: 10px;\n            }\n            \n            .tv-insight-grid-wrap .select2-container--default .select2-selection--single:hover {\n                border-color: #999;\n                background-color: #f5f5f5;\n            }\n            \n            .tv-insight-grid-wrap .select2-container--default .select2-selection--single:focus {\n                border-color: #ff5c5c;\n                background-color: #ff5c5c;\n                color: #fff;\n            }\n            \n            .tv-insight-grid-wrap .tv-filter-apply-wrapper {\n                display: flex;\n                gap: 10px;\n                align-items: center;\n                justify-content: space-between;\n            }\n            \n            .tv-insight-grid-wrap .tv-filter-submit {\n                padding: 12px 20px;\n                border-radius: 4px;\n                background-color: #ff5c5c;\n                color: #fff;\n                border: none;\n                cursor: pointer;\n                display: flex;\n                align-items: center;\n                gap: 8px;\n                font-weight: 500;\n                transition: all 0.3s ease;\n                min-height: 44px;\n                justify-content: center;\n                flex: 1;\n            }\n            .tv-insight-grid-wrap .tv-filter-clear i {\n                margin-top: 3px;\n                display: inline-block;\n                margin: 2px 0px 0 1px;\n            }\n            \n            \n            .tv-insight-grid-wrap .tv-filter-submit:hover {\n                background-color: #e04545;\n            }\n            \n            .tv-insight-grid-wrap .tv-filter-clear {\n                padding: 12px 20px;\n                border-radius: 4px;\n                background-color: transparent;\n                color: #ff5c5c;\n                border: 1px solid #ff5c5c;\n                cursor: pointer;\n                font-weight: 500;\n                transition: all 0.3s ease;\n                min-height: 44px;\n            }\n            \n            .tv-insight-grid-wrap .tv-filter-clear:hover {\n                background-color: #f5f5f5;\n                color: #e04545;\n                border-color: #e04545;\n            }\n            \n            \/* Spinner *\/\n            .btn-loader {\n                display: none;\n                width: 14px;\n                height: 14px;\n                border: 2px solid #fff;\n                border-top-color: transparent;\n                border-radius: 50%;\n                animation: spin 0.7s linear infinite;\n            }\n            \n            .tv-filter-submit.loading .btn-text { opacity: 0.6; }\n            .tv-filter-submit.loading .btn-loader { display: inline-block; }\n            \n            @keyframes spin { 100% { transform: rotate(360deg); } }\n            \n            .tv-insight-grid-wrap .tv-loader {\n                display: inline-block;\n                width: 50px;\n                height: 50px;\n                border: 3px solid #f3f3f3;\n                border-top: 3px solid #ff5c5c;\n                border-radius: 50%;\n                animation: tv-spin 1s linear infinite;\n                margin-bottom: 20px;\n            }\n            \n            @keyframes tv-spin {\n                0% { transform: rotate(0deg); }\n                100% { transform: rotate(360deg); }\n            }\n            \n            .tv-insight-grid-wrap .tv-insight-grid {\n                display: grid;\n                grid-template-columns: repeat(3, minmax(0, 1fr));\n                gap: 24px;\n            }\n            \n            .tv-insight-grid-wrap .tv-insight-card {\n                background: #fff;\n                border: 1px solid #eee;\n                border-radius: 10px;\n                overflow: hidden;\n                transition: all 0.3s ease;\n            }\n            \n            .tv-insight-grid-wrap .tv-insight-card-inner {\n                padding: 24px;\n                display: flex;\n                flex-direction: column;\n                height: 100%;\n            }\n            \n            .tv-insight-grid-wrap .tv-insight-card-meta-row {\n                display: flex;\n                justify-content: start;\n                font-size: 14px;\n                margin-bottom: 12px;\n                opacity: 1;\n                gap: 15px;\n            }\n            \n            .tv-insight-grid-wrap .tv-insight-card-title {\n                font-size: 18px;\n                margin: 0 0 10px;\n            }\n            \n            .tv-insight-grid-wrap .tv-insight-card-title a {\n                text-decoration: none;\n                color: inherit;\n            }\n            \n            .tv-insight-grid-wrap .tv-insight-card-excerpt {\n                font-size: 14px;\n                line-height: 1.6;\n                margin-bottom: 18px;\n                flex-grow: 1;\n            }\n            \n            .tv-insight-grid-wrap .tv-insight-card-footer {\n                margin-top: auto;\n            }\n            \n            .tv-insight-grid-wrap .tv-insight-card-btn {\n                display: inline-block;\n                padding: 10px 22px;\n                border-radius: 999px;\n                background: #ff5c5c;\n                color: #fff;\n                text-decoration: none;\n                font-size: 14px;\n                font-weight: 500;\n                transition: all 0.2s ease;\n            }\n            \n            .tv-insight-grid-wrap .tv-insight-card-btn:hover {\n                background: #e04545;\n            }\n            \n            .tv-insight-grid-wrap .tv-insight-card:hover {\n                transform: translateY(-4px);\n                box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06);\n            }\n            \n            .tv-insight-grid-wrap .tv-insight-pagination {\n                display: flex;\n                justify-content: center;\n                gap: 6px;\n                margin-top: 32px;\n            }\n            \n            .tv-insight-grid-wrap .tv-insight-pagination a,\n            .tv-insight-grid-wrap .tv-insight-pagination span.current {\n                display: inline-block;\n                min-width: 32px;\n                padding: 6px 10px;\n                text-align: center;\n                border-radius: 999px;\n                border: 1px solid #ddd;\n                font-size: 14px;\n                text-decoration: none;\n            }\n            \n            .tv-insight-grid-wrap .tv-insight-pagination span.current {\n                background: #ff5c5c;\n                color: #fff;\n                border-color: #ff5c5c;\n            }\n            \n            .tv-insight-grid-wrap .tv-no-results {\n                text-align: center;\n                font-size: 15px;\n                color: #666;\n            }\n            .btn-false .tv-insight-card-btn {\n                display: none;\n            }\n            \/* Responsive *\/\n            @media (max-width: 1200px) {\n                .tv-insight-filters {\n                    grid-template-columns: repeat(4, minmax(0, 1fr));\n                }\n            }\n            \n            @media (max-width: 1024px) {\n                .tv-insight-grid-wrap .tv-insight-grid {\n                    grid-template-columns: repeat(2, minmax(0, 1fr));\n                }\n                \n                .tv-insight-filters {\n                    grid-template-columns: repeat(3, minmax(0, 1fr));\n                }\n            }\n            \n            @media (max-width: 768px) {\n                .tv-insight-grid-wrap .tv-insight-grid {\n                    grid-template-columns: repeat(1, minmax(0, 1fr));\n                }\n                \n                .tv-insight-filters {\n                    grid-template-columns: 1fr;\n                }\n                \n                .tv-insight-grid-wrap .tv-filter-apply-wrapper {\n                    grid-column: 1;\n                }\n            }\n        <\/style>\n        \n        <script>\njQuery(document).ready(function ($) {\n\n    \/* ===============================\n     * BASIC ELEMENTS\n     * =============================== *\/\n    var $container  = $('#tv-insight-grid-dc9cd13');\n    var $grid       = $container.find('.tv-insight-grid');\n    var $loading    = $container.find('.tv-insight-loading');\n    var $pagination = $container.find('.tv-insight-pagination');\n\n    \/* ===============================\n     * STATE\n     * =============================== *\/\n    var activeFilters = {\n        'function-department': [],\n        'experience': [],\n        'job-type': [],\n        'location': []\n    };\n\n    var searchTerm  = '';\n    var searchTimer = null;\n    var currentPage = 1;\n    var isAjaxRunning = false;\n\n    \/* ===============================\n     * AJAX META\n     * =============================== *\/\n    var $meta        = $container.find('.tv-ajax-data');\n    var postsPerPage = $meta.data('posts-per-page') || 6;\n    var order        = $meta.data('order') || 'DESC';\n    var orderby      = $meta.data('orderby') || 'date';\n    var queryType    = $meta.data('query-type') || 'auto';\n    var manualPosts  = $meta.data('manual-posts') || '';\n\n    \/* ===============================\n     * INIT CHOICES.JS\n     * =============================== *\/\n    var choicesInstances = {};\n\n    $container.find('.tv-filter-dropdown').each(function () {\n\n        var taxonomy = $(this).data('taxonomy');\n        var placeholder = $(this).data('placeholder');\n\n        activeFilters[taxonomy] = [];\n\n        choicesInstances[taxonomy] = new Choices(this, {\n            removeItemButton: true,\n            placeholder: true,\n            placeholderValue: placeholder,\n            searchEnabled: false,\n            shouldSort: false,\n            itemSelectText: '',\n            renderSelectedChoices: 'auto'\n        });\n    });\n\n    \/* ===============================\n     * ACTIVE FILTER UI\n     * =============================== *\/\n    function updateActiveFiltersUI() {\n\n        var $wrap = $container.find('.tv-active-filters');\n        var $list = $wrap.find('.tv-active-filters-list');\n\n        var html = '';\n        var hasFilters = false;\n\n        $.each(activeFilters, function (taxonomy, terms) {\n\n            if (!terms.length) return;\n\n            hasFilters = true;\n\n            var label = $container\n                .find('.tv-filter-dropdown[data-taxonomy=\"' + taxonomy + '\"]')\n                .data('label');\n\n            var names = [];\n\n            terms.forEach(function (slug) {\n                var text = $container\n                    .find('.tv-filter-dropdown[data-taxonomy=\"' + taxonomy + '\"] option[value=\"' + slug + '\"]')\n                    .text();\n                if (text) names.push(text);\n            });\n\n            if (names.length) {\n                html += `\n                    <span class=\"tv-active-filter-item\">\n                        <strong>${label}:<\/strong> ${names.join(', ')}\n                    <\/span>\n                `;\n            }\n        });\n\n        if (hasFilters) {\n            $list.html(html);\n            $wrap.fadeIn(150);\n        } else {\n            $wrap.hide();\n            $list.empty();\n        }\n    }\n\n    \/* ===============================\n     * FILTER CHANGE\n     * =============================== *\/\n    $container.on('change', '.tv-filter-dropdown', function () {\n\n        var taxonomy = $(this).data('taxonomy');\n        var values   = $(this).val();\n\n        activeFilters[taxonomy] = Array.isArray(values) ? values : [];\n        currentPage = 1;\n\n        updateActiveFiltersUI();\n        triggerAjax();\n    });\n\n    \/* ===============================\n     * SEARCH (DEBOUNCE)\n     * =============================== *\/\n    $container.on('keyup', '.tv-search-input', function () {\n\n        clearTimeout(searchTimer);\n        searchTerm = $(this).val().trim();\n        currentPage = 1;\n\n        searchTimer = setTimeout(function () {\n            triggerAjax();\n        }, 500);\n    });\n\n    \/* ===============================\n     * SUBMIT BUTTON\n     * =============================== *\/\n    $container.on('click', '.tv-filter-submit', function (e) {\n        e.preventDefault();\n        currentPage = 1;\n        triggerAjax();\n    });\n\n    \/* ===============================\n     * CLEAR BUTTON\n     * =============================== *\/\n    $container.on('click', '.tv-filter-clear', function (e) {\n        e.preventDefault();\n\n        $.each(choicesInstances, function (tax, instance) {\n            instance.removeActiveItems();\n            activeFilters[tax] = [];\n        });\n\n        searchTerm = '';\n        $container.find('.tv-search-input').val('');\n\n        currentPage = 1;\n        updateActiveFiltersUI();\n        triggerAjax();\n    });\n\n    \/* ===============================\n     * PAGINATION (NO SCROLL BUG)\n     * =============================== *\/\n    $container.on('click', '.tv-insight-pagination a', function (e) {\n        e.preventDefault();\n\n        var href  = $(this).attr('href');\n        var match = href.match(\/[?&]paged=(\\d+)\/);\n\n        if (!match) return;\n\n        currentPage = parseInt(match[1], 10);\n        triggerAjax();\n    });\n\n    \/* ===============================\n     * AJAX TRIGGER\n     * =============================== *\/\n    function triggerAjax() {\n        if (isAjaxRunning) return;\n        isAjaxRunning = true;\n\n        $container.find('.tv-filter-submit').addClass('loading');\n        loadFilteredPosts(function () {\n            isAjaxRunning = false;\n            $container.find('.tv-filter-submit').removeClass('loading');\n        });\n    }\n\n    \/* ===============================\n     * AJAX LOAD\n     * =============================== *\/\n    function loadFilteredPosts(callback) {\n\n        $loading.show();\n        $grid.hide();\n        $container.find('.tv-insight-pagination').remove();\n        $container.find('.tv-no-results, .tv-ajax-error').remove();\n\n        var taxQuery = [];\n\n        $.each(activeFilters, function (taxonomy, terms) {\n            if (terms.length) {\n                taxQuery.push({\n                    taxonomy: taxonomy,\n                    field: 'slug',\n                    terms: terms\n                });\n            }\n        });\n\n        var ajaxData = {\n            action: 'tv_filter_career',\n            posts_per_page: postsPerPage,\n            order: order,\n            orderby: orderby,\n            query_type: queryType,\n            manual_posts: manualPosts,\n            paged: currentPage,\n            search: searchTerm,\n            nonce: '7dace07f55'\n        };\n\n        if (taxQuery.length) ajaxData.tax_query = taxQuery;\n\n        $.ajax({\n            url: 'https:\/\/tmsdoyle.com\/wp-admin\/admin-ajax.php',\n            type: 'POST',\n            data: ajaxData,\n            dataType: 'json',\n\n            success: function (response) {\n\n                $loading.hide();\n                $grid.show();\n\n                if (response && response.success) {\n\n                    $grid.html(response.data.grid);\n\n                    if (response.data.pagination) {\n                        $grid.after(response.data.pagination);\n                    }\n\n                    \/\/ if (response.data.count === 0) {\n                    \/\/     $grid.after('<p class=\"tv-no-results\"><\/p>');\n                    \/\/ }\n\n                } else {\n                    showError('Server error.');\n                }\n\n                if (typeof callback === 'function') callback();\n            },\n\n            error: function () {\n                $loading.hide();\n                $grid.show();\n                showError('Failed to load careers.');\n                if (typeof callback === 'function') callback();\n            }\n        });\n    }\n\n    \/* ===============================\n     * ERROR\n     * =============================== *\/\n    function showError(msg) {\n        $grid.after('<p class=\"tv-no-results tv-ajax-error\">' + msg + '<\/p>');\n    }\n\n});\n<\/script>\n        \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Filters: AllAnalytics &#038; InsightsCommercial ExcellenceDeal AdvisoryStrategy &#038; ConsultingAll0-1 Year2-3 Years4-5 Years6-7 Years8 + YearsAllFull TimePart TimeWork From HomeAllMaharashtraUttar PradeshApply Loading careers\u2026 SRT \u2013 M&#038;A Deal Transformation &#038; Post Merger integration ICC \u2013 Manager \u2013 I&#038;S Dec 18, 2025Pune, Maharashtra Senior Consultant | D365 Certifications (Dynamics 365 Finance Functional Consultant Associate) | Ahm Dec 18, 2025Thane, [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":4,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-7293","page","type-page","status-publish","hentry"],"acf":[],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/tmsdoyle.com\/zh\/wp-json\/wp\/v2\/pages\/7293","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tmsdoyle.com\/zh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tmsdoyle.com\/zh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tmsdoyle.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tmsdoyle.com\/zh\/wp-json\/wp\/v2\/comments?post=7293"}],"version-history":[{"count":127,"href":"https:\/\/tmsdoyle.com\/zh\/wp-json\/wp\/v2\/pages\/7293\/revisions"}],"predecessor-version":[{"id":8643,"href":"https:\/\/tmsdoyle.com\/zh\/wp-json\/wp\/v2\/pages\/7293\/revisions\/8643"}],"wp:attachment":[{"href":"https:\/\/tmsdoyle.com\/zh\/wp-json\/wp\/v2\/media?parent=7293"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}