$(document).ready(function () { $(document).on('change', '.select-option', function () { if ($('option:selected', this).val() == '') { $(".nama").css('display', 'none'); $(".nopol").css('display', 'none'); $(".nocard").css('display', 'none'); $(".notrans").css('display', 'none'); // $(".site").val(''); } else if ($('option:selected', this).val() == 'nama') { $(".nama").css('display', 'block'); $(".nopol").css('display', 'none'); $(".nocard").css('display', 'none'); $(".notrans").css('display', 'none'); $(".input-default").val(''); } else if ($('option:selected', this).val() == 'nopol') { $(".nama").css('display', 'none'); $(".nopol").css('display', 'block'); $(".nocard").css('display', 'none'); $(".notrans").css('display', 'none'); $(".input-default").val(''); } else if ($('option:selected', this).val() == 'nocard') { $(".nama").css('display', 'none'); $(".nopol").css('display', 'none'); $(".nocard").css('display', 'block'); $(".notrans").css('display', 'none'); $(".input-default").val(''); } else if ($('option:selected', this).val() == 'notrans') { $(".nama").css('display', 'none'); $(".nopol").css('display', 'none'); $(".nocard").css('display', 'none'); $(".notrans").css('display', 'block'); $(".input-default").val(''); } else { $(".position").css('display', 'none'); $(".level-area").css('display', 'none'); $(".input-default").val(''); } }); var url = $('#example').data('url'); $('#search-button').on('click', function () { // Ambil nilai dari selected option var option = $('.select-option').val(); // Cek jika option yang dipilih bukan 'Pencarian Data...' yang berarti pilihan valid if (option && option !== '') { var inputField = $('.input-default:visible'); // Periksa apakah input tersebut kosong if (inputField.length === 0 || inputField.val().trim() === '') { // Jika kosong, tampilkan alert alert('Harap masukkan ' + (option === 'nopol' ? 'No. Polisi' : option === 'nocard' ? 'No. Card' : option === 'nama' ? 'Nama' : option === 'notrans' ? 'No. Transaksi' : 'No. Transaksi')); inputField.focus(); return; // Hentikan proses jika input kosong } } var formData = $('#search-form .input-default:visible').val(); console.log(formData); $.ajax({ url: url, type: "POST", // data: $('#search-form .input-default:visible').serialize(), data: $('#search-form').serialize(), headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')}, dataType: 'json', success: function (response) { var tbody = $('#example tbody'); tbody.empty(); if (response.length !== 0) { // Kelompokkan data berdasarkan notrans var groupedData = {}; response.forEach((element) => { if (!groupedData[element.notrans]) { groupedData[element.notrans] = []; } groupedData[element.notrans].push(element); }); // Generate HTML Object.keys(groupedData).forEach((notrans, index) => { var rows = groupedData[notrans]; var rowspan = rows.length; rows.forEach((element, rowIndex) => { var rowHtml = ` ${rowIndex === 0 ? `${index + 1}` : ''} ${rowIndex === 0 ? `${element.notrans}` : ''} ${rowIndex === 0 ? `${element.nama}` : ''} ${rowIndex === 0 ? `${element.alamat}` : ''} ${rowIndex === 0 ? `${element.telepon}` : ''} ${rowIndex === 0 ? `${element.jmember}` : ''} ${rowIndex === 0 ? `${element.dept}` : ''} ${rowIndex === 0 ? `${element.awal}
${element.akhir}` : ''} ${rowIndex === 0 ? ` ${[...new Set(rows.map(r => `${r.nopol || 'No. Polisi tidak ada'} (${r.vehicle || ''})`))].join('
')} ` : ''} ${rowIndex === 0 ? `${[...new Set(rows.map(r => r.no_card || 'Tidak ada kartu'))].join('
')}` : ''} ${rowIndex === 0 ? ` ` : ''} `; tbody.append(rowHtml); }); }); } else { alert("Data tidak ditemukan."); $('#example tbody').html( `

Tidak ditemukan data

`); } } }) }) });