N
Celeb Drop Feed

Cara Lapor SPT Tahunan via e-Filing untuk Karyawan Swasta

Author

Sarah Duran

Updated on March 26, 2026

Cara lapor SPT Tahunan bagi karyawan swasta secara online menggunakan e-Filling

Lihat Foto

Cara lapor SPT Tahunan bagi karyawan swasta secara online menggunakan e-Filling( Hardiansyah)

JAKARTA, KOMPAS.com - Masa pelaporan Surat Pemberitahuan (SPT) Tahunan sudah dimulai sejak awal tahun. Masyarakat yang berpenghasilan dan memiliki Nomor Pokok Wajib Pajak (NPWP) wajib melaporkan SPT Tahunan.

Adapun batas waktu pelaporan SPT Tahunan bagi wajib pajak pribadi yakni 31 Maret 2023. Sedangkan untuk wajib pajak badan yaitu pada 30 April 2023.

Bagaimana cara lapor SPT tahunan bagi karyawan swasta?

Baca juga: PRT Kebingungan, Pemda Tak Punya Data, UU PPRT Jadi Solusinya…

Cara lapor SPT Tahunan bagi karyawa swasta dapat dilakukan secara online menggunakan e-Filling di laman djponline.pajak.go.id.

Namun sebelum itu, wajib pajak (WP) perlu mengetahui jenis formulir yang akan digunakan untuk mengisi SPT. Hal ini karena setiap formulir SPT Tahunan memiliki cara pengisian yang berbeda.

Dikutip dari laman Direktorat Jenderal Pajak, terdapat dua jenis formulir yang harus dipilih oleh wajib pajak yang berstatus pegawai sesuai dengan besaran penghasilan selama setahun.

Baca juga: Google Hapus 51,2 Juta Iklan Pemilu Mengandung Ujaran Kebencian

Pertama, formulir 1770 SS untuk wajib pajak pribadi yang berstatus karyawan dengan penghasilan kurang dari atau sama dengan Rp 60 juta per tahun, atau bekerja pada satu perusahaan dalam kurun waktu setahun.

Kedua, formulir 1770 S untuk wajib pajak pribadi yang berstatus karyawan dan memiliki penghasilan lebih dari Rp 60 juta per tahun, atau bekerja di lebih dari satu perusahaan dalam kurun waktu satu tahun.

Jika sudah paham mengenai perbedaan kedua formulir tersebut, maka tinggal melakukan proses pengisian SPT.

Sebelum mengisi formulir, pastikan Anda telah menyiapkan bukti potong pajak 1721 A1 untuk karyawan swasta. Bukti potong pajak ini bisa diminta ke perusahaan tempat Anda bekerja. 

Baca juga: Jumlah Pengunjung E-Commerce Merosot pada Februari 2023

Berikut cara lapor SPT tahunan pribadi untuk karyawan swasta dengan penghasilan di bawah Rp 60 juta setahun dengan formulir 1770 SS:

  • Akses laman djponline.pajak.go.id.
  • Masukkan NPWP, kata sandi, dan kode keamanan/CAPTCHA, lalu klik "Login"
  • Pilih menu "Lapor", lalu klik "e-Filing".
  • Pilih "Buat SPT".
  • Ikuti "Panduan Pengisian e-Filing".
  • Isi data formulir berupa tahun pajak, status SPT, dan status pembetulan.
  • Isi Bagian A. Poin (1) penghasilan bruto selama setahun, poin (2) isi data pengurang, poin (3) pilih Penghasilan Tidak Kena Pajak, poin (6) isikan nilai Pph yang telah dipotong perusahaan;
  • Jika status nihil, klik Lanjut ke B dan isi sesuai instruksi.
  • Lalu, lanjut ke Bagian C dan isi nominal data dan utang sesuai instruksi.
  • Kemudian, lanjut ke Bagian D. Centang "Setuju" jika data sudah benar; Selanjutnya, ambil kode verifikasi yang dikirim melalui email wajib pajak.
  • Copy dan paste kode tersebut di kolom paling akhir dan klik "Kirim SPT"
  • Terakhir, silakan buka email untuk melihat Bukti Penerimaan Elektronik (BPE) SPT.

Baca juga: Dukung Inklusi Keuangan Digital UMKM, OJK: Kita Akan Sediakan Alternatif Pembiayaan

Cara mengisi SPT tahunan karyawan swasta formulir 1770S

Adapun cara lapor SPT tahunan pribadi karyawan swasta dengan penghasilan di atas Rp 60 juta adalah sebagai berikut:

  • Akses laman djponline.pajak.go.id.
  • Masukkan NPWP, kata sandi, dan kode keamanan/CAPTCHA, lalu klik "Login".
  • Pilih menu Lapor, lalu klik "e-Filing".
  • Pilih "Buat SPT".
  • Selanjutnya, jika Anda sudah tahu cara mengisi formulir, silakan pilih pengisian form "Dengan Bentuk Formulir". Sementara, jika Anda ingin dipandu, silakan pilih pengisian form "Dengan Panduan".
  • Isi data formulir, seperti Tahun Pajak, Status SPT, dan Pembetulan (jika mengajukan pembetulan SPT).
  • Tambahkan Bukti Pemotongan Pajak di langkah ke dua atau klik "Tambah+", jika ada.
  • Isi data Bukti Potong Baru yang terdiri dari Jenis Pajak, NPWP Pemotong/Pemungut Pajak, Nama Pemotong/Pemungut Pajak, Nomor Bukti Pemotongan/Pemungutan, Tanggal Bukti Pemotongan/Pemungutan, dan Jumlah PPh yang Dipotong/Dipungut.
  • Masukkan Penghasilan Neto Dalam Negeri Sehubungan dengan Pekerjaan.
  • Masukkan Penghasilan Dalam Negeri Lainnya, bila ada.
  • Masukkan Penghasilan Luar Negeri, bila ada.
  • Masukkan Penghasilan yang tidak termasuk obyek pajak, bila ada.
  • Masukkan Penghasilan yang telah dipotong PPh Final, bila ada.
  • Tambahkan Harta yang Anda miliki. Jika tahun sebelumnya Anda sudah melaporkan daftar harta dalam e-filing, tinggal klik "Harta Pada SPT Tahun Lalu".
  • Tambahkan Utang yang Anda miliki. Jika tahun sebelumnya Anda sudah melaporkan daftar utang dalam e-filing, klik "Utang Pada SPT Tahun Lalu".
  • Tambahkan tanggungan yang Anda miliki. Jika tahun sebelumnya Anda sudah melaporkan daftar tanggungan dalam e-filing, cukup klik "Tanggungan Pada SPT Tahun Lalu".
  • Isilah Zakat/Sumbangan Keagamaan Wajib yang Anda bayarkan ke Lembaga Pengelola yang disahkan oleh Pemerintah.
  • Isi Status Kewajiban Perpajakan Suami Istri yang sesuai.
  • Isi pengembalian/pengurangan PPh Pasal 24 dari penghasilan Luar Negeri, bila ada; Isi Pembayaran PPh Pasal 25 dan Pokok SPT PPh Pasal 25, bila ada.
  • Cek Penghitungan Pajak Penghasilan (PPh). Jika Nihil klik "Langkah Berikutnya".
  • Jika kurang bayar, akan ada pertanyaan lanjutan. Apabila belum bayar, akan ada perintah untuk pembuatan e-Billing (isi nomor transaksi serta tanggal dan jumlah pembayaran, jika sudah bayar). Jika SPT lebih bayar, silakan unggah dokumen pendukung.
  • Lakukan konfirmasi dengan klik "Setuju/Agree" pada kotak yang tersedia dan pilih "Langkah Berikutnya" hingga proses selesai.

Baca juga: Kasus Dugaan Korupsi, Segini Tukin Pegawai Kementerian ESDM

Itulah informasi seputar cara mengisi SPT tahunan PNS dan cara lapor SPT karyawan swasta, khususnya cara lapor SPT tahunan karyawan swasta online yang juga belaku bagi PNS.

Cara lapor SPT Tahunan bagi karyawan swasta secara online menggunakan e-Filling Zaenuddin Cara lapor SPT Tahunan bagi karyawan swasta secara online menggunakan e-Filling Dapatkan update berita pilihan dan breaking news setiap hari dari Kompas.com. Mari bergabung di Grup Telegram "Kompas.com News Update", caranya klik link , kemudian join. Anda harus install aplikasi Telegram terlebih dulu di ponsel.  

Pilihan Untukmu

`); var wSpecStop = createElementFromHTML(`

Konten disembunyikan.
Muat ulang halaman untuk perbarui rekomendasi.

`); reactionPopup.querySelector('.buttonShare').setAttribute('data-title', item.title); reactionPopup.querySelector('.buttonShare').setAttribute('data-url', itemUrl); reactionPopup.querySelector('.buttonShare').setAttribute('data-campaign', 'AIML_Widget_Desktop'); let userFeedback = new UserFeedback(resultObj.engine['tracker_algsrc'], itemUrl + tracker_params, jxRecHelper, index); reactionPopup.querySelector('.buttonBookmark').addEventListener('click', function() { do_bookmark(itemUrl, index, userFeedback); }); reactionPopup.querySelector('.buttonShare').addEventListener('click', function() { userFeedback.event('share'); }); reactionPopup.querySelector('.buttonNotInterest').addEventListener('click', function() { if (getCookie('kmps_usrid')) { hideThisArt(this); userFeedback.event('not-interested'); } else { const parentAction = this.parentElement.parentElement.parentElement if (!!parentAction) { let indexElement = parentAction.getAttribute('data-index') if (indexElement != 'undefined') { localStorage.setItem('reaction_not_interest_temp', JSON.stringify({ urlpage: items[indexElement].url })) } } window.location.href = "" + btoa(window.location.href); } }); /** * trigger action "userFeedback" that user not interest item before, when not interest without login */ if (getCookie('kmps_usrid') && localStorage.getItem('reaction_not_interest_temp')) { const tempUrlNotInterest = JSON.parse(localStorage.getItem('reaction_not_interest_temp')) if (itemUrl == tempUrlNotInterest.urlpage) { userFeedback.event('not-interested'); localStorage.removeItem('reaction_not_interest_temp'); } } wSpecStop.querySelector('.wSpec-stop-undo').addEventListener('click', function() { showThisArt(this); userFeedback.event('un-not-interested'); }); recItem.appendChild(buttonOption); recItem.appendChild(reactionPopup); recItem.appendChild(wSpecStop); } var recItemWrapperA = createElement('a', null, null, null); recItemWrapperA.setAttribute('href', itemUrl + tracker_params); var titleDiv = createElement('h4', null, null, [cssClasses.title]); var titleTextNode = document.createTextNode(item.title); if (item.itemType == 'video') { var iconVideo = createElement('div', null, null, ['icoInline', 'icoVideo']); iconVideo.style.marginRight = '5px'; titleDiv.appendChild(iconVideo); } titleDiv.appendChild(titleTextNode); var sourceDiv = null; if (item.hasOwnProperty('method')) { sourceDiv = createElement('div', null, null, [cssClasses.source], resultObj.engine['type'] + ' . ' + item.method.toUpperCase()); } else { var sourceDiv = createElement('div', null, null, [cssClasses.source], resultObj.engine['type']); } var textWrapper = createElement('div', null, null, [cssClasses.text_wrapper]); textWrapper.appendChild(categoryDiv); textWrapper.appendChild(titleDiv); textWrapper.appendChild(sourceDiv); recItemWrapper.appendChild(imgWrapper); recItemWrapper.appendChild(textWrapper); recItemWrapperA.appendChild(recItemWrapper); recItem.appendChild(recItemWrapperA); widgetWrapper.appendChild(recItem); // hook up the click handler for this item // recItem.onclick = handleClick.bind(null, jxRecHelper, itemUrl + tracker_params, index); recItemWrapperA.onclick = handleClick.bind(null, jxRecHelper, itemUrl + tracker_params, index); }); } // end while var endDate = new Date(); var loadtime = (endDate.getTime() - startDate.getTime()); trackEventGa('AIML Article Recommendation', 'Content Loaded', 'algsrc='+algsrc+',site=MONEY,device=desktop,loadtime=' + loadtime) let domain = window.location.hostname; if(domain=='){ var url=window.location.href.split("/"); domain=url[2]+'/'+url[3] } let user_subs_type = "Gues"; let subs_type = ""; let is_lgn = 0; let engine = algsrc; if(getCookie('kmps_usrid')){is_lgn=1}; let time_load = loadtime; resolve(); /*** * JXRECSDK NOTES 3 of 5 - * pass all the info about the items to the rec helper * each one is an object: ALL MANDATORY * div * id * pos */ jxRecHelper.items(widgetItemArr); /*** * JXRECSDK NOTES 4 of 5 - * Call the ready() of the helper object when the recommendation * results have been populated to the widget * (This will register the action=ready event) */ if (resultObj.engine['type'] == 'api-1') { jxRecHelper.ready(resultObj.options.algo + ":" + resultObj.options.version); } else { jxRecHelper.ready(resultObj.engine['type']); } } else { jxRecHelper.error(204); console.error("Error: no recommendation items"); return; } } catch (err) { jxRecHelper.error(901); console.log(err.stack); let domain = window.location.hostname; if(domain=='){ var url=window.location.href.split("/"); domain=url[2]+'/'+url[3] } let user_subs_type = "Gues"; let subs_type = "" let is_lgn = 0; let engine = algsrc; if(getCookie('kmps_usrid')){is_lgn=1}; let endDate = new Date(); let time_load = (endDate.getTime() - startDate.getTime()); } }); } const _jxRecSdkURL = ' var startDate = new Date(); class OneWidget { constructor() { //this is also the one we will pass to the JX rec helper object when //we instantiate it: //In this implementation most of these come from the options obj //on the publisher page. this._options = { accountid: '9262bf2590d558736cac4fff7978fcb1', pageurl: ' widget_id: '1000183-6xWeiWZFIM', type: 'pages', container: 'rekomendasi-konten-pilihan-untukmu-aiml', keywords: content_tags, title: title, customid: "26", count: 14, }; this._containerId = this._options.container; this._container = document.getElementById(this._containerId); this._engines = [{"url":"https:\/\/recommendation.kgdata.dev\/rec\/kompascom\/api\/v2\/recommendation\/item","method":"POST","pageurl":"https:\/\/money.kompas.com\/read\/2023\/03\/29\/210545226\/cara-lapor-spt-tahunan-via-e-filing-untuk-karyawan-swasta","system":"kg","type":"api-2","tracker_params":"?source=widgetML&engine=C","tracker_algsrc":"C","count":14,"page_status":"read","excludeitemids":["20230329210545226"],"multiFormat":true}]; } kickOff() { startDate = new Date(); const rand = Math.floor(Math.random() * 1000); /*const randSystem = Math.floor(Math.random() * 3); this._engine = this._engines[randSystem] if (location.hostname.indexOf('lestari') != -1) { this._engine = this._engines[1] }*/ this._engine = this._engines[0]; this._options.system = this._engine['system'] trackEventGa('AIML Article Recommendation', 'Widget load', 'algsrc=' + this._engine['tracker_algsrc'] + ',site=MONEY,device=desktop') let promJXSDK = fetchJSFileP(_jxRecSdkURL); let thisObj = this; // first we wait on the JX REC SDK to be loaded and initialized let recHelperObj = null; let recResults = null; promJXSDK .then(function() { /*** * JXRECSDK NOTES 1 of 5 - INSTANTIATION OF A JX REC HELPER OBJECT * Call this AFTER JX REC SDK is loaded but BEFORE you call your REC * backend. * * param: MANDATORY options object * options object must at a minimal have * accountid: get from jixie * widgetid: get from jixie * container: DIV ID of the destination div to house the widget * (for jixie widget this is just the options object passed from the page) * * (This will also register the action=load event) */ recHelperObj = jxRecMgr.createJxRecHelper(thisObj._options); let basicInfo = thisObj._options; basicInfo.engine = thisObj._engine if (basicInfo.engine.type == 'api-1') { var options = { count: basicInfo['count'], adpositions: "", keywords: basicInfo['keywords'], title: basicInfo['title'], date_published: "2023-03-29", pagecategory: "MONEY", algo: "mixed" }; if(getCookie('kmps_usrid')){ var kg = { pagetype:basicInfo.engine.page_status, uid:getCookie('kmps_usrid'), ukid:getCookie('kmp_uid') } if(basicInfo.engine.page_status=='read'){ kg['excludeitemids'] = basicInfo.engine.excludeitemids; kg['multiFormat'] = true; } options['additional'] = { kg:kg }; } return recHelperObj.getJxRecommendations(options); } else { return fetchRecommendationsP(basicInfo, recHelperObj.getJxUserInfo()); } }) .then(function(resp) { if (thisObj._engine.type == 'api-3') { recResults = new Object recResults.items = resp.docs.result; } else { recResults = resp; } recResults.engine = thisObj._engine; if (!resp || !recResults.items || recResults.items.length == 0) { /*** * JXRECSDK NOTES 2 of 5 - * Call the error() function on the recHelper when either an error * has occured in the fetching or there are no recommended items * * (This will register the action=error event) */ recHelperObj.error(204); throw "no recommendation results"; } }) .then(function() { // everything is ready (recommendation results, css): document.getElementById("rekomendasi-konten-pilihan-untukmu-aiml").classList.remove("-loading"); document.querySelector('.wSpec-list').remove(); createDisplay(rand, thisObj._container, recResults, recHelperObj) .then(function() { toggleDropdown(); //observe lozad lozad('.lozad', { load: function(el) { el.src = el.dataset.src; el.onload = function() { el.classList.add('fade') } } }).observe() }) }) .catch(function(error) { console.log(`Unable to create recommendations widget ${error.stack} ${error.message}`); }); } } var limit_gtm_ready = 1; function check_gtm_ready() { if ('ga' in window) { // create a new instance of our widget based on the options const newW = new OneWidget(); newW.kickOff(); } else { const timeout_gtm_ready = setTimeout(check_gtm_ready, 500) limit_gtm_ready += 1; if (limit_gtm_ready > 10) { clearTimeout(timeout_gtm_ready); const newW = new OneWidget(); newW.kickOff(); } } } check_gtm_ready() document.querySelector('.wSpec-secret').addEventListener('click', function(e) { e.preventDefault(); let wSl = document.querySelectorAll('.wSpec-source'); if (wSl.length > 0) { for (let i = 0; i < wSl.length; i++) { wSl[i].classList.toggle('show') } } }) function trackEventGa(category, action, label) { if ("ga" in window) { ga(function() { tracker = ga.getAll()[0]; if (tracker) { tracker.send("event", category, action, label); console.log('track event ', category, action, label) } }) } } function formBody(obj) { let formBody = []; for (var property in obj) { let encodedKey = encodeURIComponent(property); let encodedValue = encodeURIComponent(obj[property]); formBody.push(encodedKey + "=" + encodedValue); } return formBody.join("&"); } function getCookie(name) { var name = name + '='; var cookies = decodeURIComponent(document.cookie).split(';'); for (var i = 0; i < cookies.length; i++) { var c = cookies[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } } function get_guid(url) { const videoPath = url.match(/\/watch\/(\d+)/); if (videoPath) { return `video.${videoPath[1]}`; } let arrayUrl = url.split('/'); let readPath = arrayUrl.indexOf('read'); if (arrayUrl[readPath + 1] == 'xml') { readPath += 1; } let year = arrayUrl[readPath + 1]; let month = arrayUrl[readPath + 2]; let date = arrayUrl[readPath + 3]; let id = arrayUrl[readPath + 4]; let guid = `.xml.${year}.${month}.${date}.${id}`; return guid; } function toggleDropdown() { let tdd = document.querySelectorAll('[data-dropdown]') if (!!tdd) { tdd.forEach((el) => { el.addEventListener('click', function() { el.parentElement.classList.toggle('-active') let saved = el.parentElement.getAttribute('data-saved') let kmps_usrid = getCookie('kmps_usrid'); if (kmps_usrid && !saved && el.parentElement.classList.contains('-active')) { let url = el.parentElement.getAttribute('data-url'); let guid = get_guid(url); check_bookmark( kmps_usrid, guid ).then(function(resp) { if (resp.hasOwnProperty('total_data')) { if (resp.total_data > 0) { el.parentElement.querySelector('.buttonBookmark').classList.add('-active'); el.parentElement.querySelector('.buttonBookmark').innerHTML = 'Hapus dari tersimpan'; el.parentElement.setAttribute('data-saved', 'true'); } else { el.parentElement.setAttribute('data-saved', 'false'); } } }) } }) document.addEventListener("click", function(e) { // console.log(e.target) if (el.contains(e.target)) { // console.log(tdd) } else { el.parentElement.classList.remove('-active') } }); }); } } function check_bookmark(kmps_usrid, guid) { let url = ` return new Promise(function(resolve, reject) { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { resolve(JSON.parse(this.responseText)) } }; xmlhttp.open("GET", url, true); xmlhttp.send(); }); } function do_bookmark(pageurl, pos, userFeedback) { const wSpecItem = document.querySelector(`.wSpec-item[data-index="${pos}"]`); const btnBookmark = wSpecItem.querySelector('.buttonBookmark'); const kmps_usrid = getCookie('kmps_usrid'); const guid = get_guid(pageurl); const type = pageurl.match(/\/watch\/(\d+)/) ? 'video' : 'article'; if (kmps_usrid) { if (btnBookmark.classList.contains('-active')) { set_unbookmark({ guid: guid, kmps_usrid: kmps_usrid, type: type }).then(function(resp) { btnBookmark.classList.remove('-active'); btnBookmark.innerHTML = 'Simpan artikel'; reactionToast('Artikel berhasil dihapus dari list yang disimpan'); userFeedback.event('un-save'); }).catch(function(resp) { // message: "Data doesn't exists" if (resp.hasOwnProperty('message') && resp.message.includes('exist')) { btnBookmark.classList.remove('-active'); btnBookmark.innerHTML = 'Simpan artikel'; reactionToast('Artikel berhasil dihapus dari list yang disimpan'); } }) } else { const user_bookmark_url = ""; set_bookmark({ guid: guid, kmps_usrid: kmps_usrid, type: type, publisher: 'kompas', platform: 'desktop' }).then(function(resp) { btnBookmark.classList.add('-active'); btnBookmark.innerHTML = 'Hapus dari tersimpan'; reactionToast('Artikel berhasil disimpan', user_bookmark_url); userFeedback.event('save'); }).catch(function(resp) { // message: "Data already exist" if (resp.hasOwnProperty('message') && resp.message.includes('exist')) { btnBookmark.classList.add('-active'); btnBookmark.innerHTML = 'Hapus dari tersimpan'; reactionToast('Artikel berhasil disimpan', user_bookmark_url); } }) } } else { const login_url = "" + btoa(window.location.href); window.location.href = login_url; } } function set_bookmark(data) { const url = ""; return new Promise(function(resolve, reject) { const xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 201) { resolve(JSON.parse(this.responseText)); } else if (this.readyState == 4 && this.status == 400) { reject(JSON.parse(this.responseText)); } }; xmlhttp.open("POST", url, true); xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); xmlhttp.send(formBody(data)); }); } function set_unbookmark(data) { const url = ""; return new Promise(function(resolve, reject) { const xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { resolve(JSON.parse(this.responseText)); } else if (this.readyState == 4 && this.status == 400) { reject(JSON.parse(this.responseText)); } }; xmlhttp.open("POST", url, true); xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); xmlhttp.send(formBody(data)); }); } class UserFeedback { constructor(engine, pageurl, jxRecHelper, pos) { this.engine = engine; this.pageurl = pageurl; this.jxRecHelper = jxRecHelper; this.pos = pos; } event(feedback) { if (this.engine == 'C') { const xmlhttp = new XMLHttpRequest(); let params = { domain: 'kompas.com', ce_userid: getCookie('kmps_usrid'), ce_sessionid: getCookie('ukid'), ce_pageurl: this.pageurl, engine: 'C', ce_feedback: feedback } xmlhttp.open("GET", ' + formatParams(params)); xmlhttp.send(); } else if (this.engine == 'V') { if (feedback == 'share') { this.jxRecHelper.shared(this.pos); } else if (feedback == 'save') { this.jxRecHelper.bookmarked(this.pos); } else if (feedback == 'not-interested') { this.jxRecHelper.hidden(this.pos); } else if (feedback == 'un-not-interested') { this.jxRecHelper.unhidden(this.pos); } } } } function formatParams(params) { return "?" + Object .keys(params) .map(function(key) { return key + "=" + encodeURIComponent(params[key]) }) .join("&") } document.addEventListener("click", function(e){ let dx = document.querySelectorAll('[data-dropdown]') if(dx) { dx.forEach(function(el){ if(el.contains(e.target)) { el.parentElement.classList.toggle('-active') } else { el.parentElement.classList.remove('-active') } }) } })