Memicu Modal dengan Jumlah Kelas Aktif dalam Tabel
Anda mungkin ingin menerapkan perilaku khusus berdasarkan konten setiap sel saat bekerja dengannya . Misalnya, Anda bisa menggunakan pola atau kriteria tertentu untuk menetapkan kelas secara dinamis ke sel tabel. Hasilnya, meja Anda mungkin menjadi lebih berguna dan menarik.
Dalam contoh ini, sel tabel yang memenuhi persyaratan tertentu akan diberi nama kelas ditambahkan ke mereka. A fungsi yang memeriksa setiap sel, memverifikasi isinya, dan kemudian menerapkan kelas dengan tepat digunakan untuk melakukan ini. Ini adalah metode produktif dalam mengatur sel tertentu berdasarkan datanya.
Setelah menerapkan kelas ke subset sel, menghitung jumlah sel yang memiliki kelas ini bisa menjadi langkah berikutnya yang sering dilakukan. Jika Anda ingin memulai suatu peristiwa atau tindakan, seperti membuka modal yang menunjukkan hitungan, menghitung sel-sel ini bisa sangat membantu.
Tutorial ini akan mengajarkan Anda cara menggunakan JavaScript untuk menghitung jumlah sel yang memiliki kelas dan secara otomatis meluncurkan modal yang menunjukkan hitungan. Menggunakan , solusinya mudah, efisien, dan mudah diterapkan.
Memerintah | Contoh Penggunaan | |
---|---|---|
.each() | Setiap elemen dalam kumpulan elemen yang cocok diiterasi oleh fungsi jQuery ini. Ini menerapkan logika atau kelas kondisional dengan melakukan iterasi pada setiap sel tabel ( | ) in our example. |
tambahkanKelas() | The selected items receive one or more class names added to them by this jQuery method. The script applies the atau kelas ke sel sesuai dengan isinya. | |
.dialog() | Used with jQuery UI to generate a modal dialog. When the script triggers the modal, the autoOpen: true option makes sure it opens automatically and shows the number of active items. | |
.teks() | The text content of the chosen components is retrieved or set using this technique. In this instance, it checks to see if the contents of every | sel cocok dengan pola tertentu. |
RegExp() | Ekspresi reguler dibuat dengan konstruktor JavaScript ini. Skrip dapat menetapkan kelas berdasarkan konten dengan mengidentifikasi pola seperti atau . | |
classList.add() | Teknik dasar JavaScript ini memberikan suatu elemen kelas tertentu. Fungsinya mirip dengan addClass() jQuery dalam solusi JavaScript vanilla, menambahkan atau kelas tergantung pada kondisi. | |
DOMContentLoaded | Ketika dokumen HTML selesai dimuat dan diurai, peristiwa DOMContentLoaded dipicu. Dalam contoh vanilla JavaScript, ini memastikan skrip dijalankan setelah DOM selesai dimuat. | |
querySelectorAll() | Setiap elemen dalam dokumen yang cocok dengan pemilih CSS yang diberikan dikembalikan oleh fungsi JavaScript ini. Dalam contoh JavaScript dasar, ini digunakan untuk memilih setiap | element in the table for further processing. |
untukSetiap() | An array method in JavaScript that lets you iterate over elements. Here, it's utilized to iterate over every table cell that querySelectorAll() returned and apply the required logic to each one. |
Memahami Skrip: Menghitung Sel dan Memicu Modal
Dalam contoh skrip pertama, setiap sel tabel diiterasi, kontennya dievaluasi, dan kelas ditetapkan bergantung pada evaluasi yang menggunakan . Fitur ini dimungkinkan dengan melakukan iterasi melalui masing-masing
Dengan konstruktor, ekspresi reguler untuk mencocokkan angka yang diikuti dengan huruf dibuat. Teknik ini memastikan bahwa sel dengan data, seperti "1A" atau "3C", dikenali dan diberi label dengan kelas saat ini. Sel menerima kelas terpisah yang disebut jika kontennya cocok dengan pola yang berbeda, "c" tersebut diikuti dengan angka. Hal ini memungkinkan untuk mengklasifikasikan data dalam tabel dengan lebih tepat. Selain itu, Metode menjamin bahwa sel dapat menambahkan kelas-kelas ini tanpa menghapus kelas apa pun yang mungkin sudah dimilikinya.
Langkah selanjutnya adalah menghitung sel yang sesuai dan memulai modal setelah semuanya ditandai dengan kelas aktif. Setiap kali sel memperoleh kelas aktif, hitungannya bertambah dan disimpan dalam nama variabel . Jumlah sel yang memenuhi syarat dalam tabel harus dipastikan menggunakan hitungan ini. Menggunakan fungsi dari jQuery UI, modal dihasilkan ketika penghitungan selesai. Itu atribut memungkinkan modal untuk terbuka secara otomatis. Jumlah sel aktif ditampilkan di dalam modal.
Dalam kasus kedua, vanilla JavaScript digunakan untuk menduplikasi prosedur yang sama. digunakan sebagai pengganti jQuery dalam pendekatan ini untuk memilih semua sel tabel, dan cara yang mudah loop berulang melalui setiap sel. Ekspresi reguler digunakan untuk mencocokkan konten sel, seperti dalam solusi jQuery. Jika kecocokan ditemukan, activeCount diperbarui dan kelas aktif ditambahkan menggunakan metode. Pada akhirnya, mengubah HTML internal dari elemen modal yang telah ditentukan sebelumnya di DOM akan mengaktifkan modal tersebut. Hasil yang sama seperti contoh jQuery dicapai dengan menggunakan solusi ini, yang tidak bergantung pada perpustakaan luar.
Menghitung Sel dengan Kelas Tertentu dan Memicu Modal
Metode ini menghitung item yang memiliki kelas tertentu dan secara dinamis menetapkan kelas untuk item tersebut . Ini kemudian membuka jendela modal.
$(document).ready(function() {
var activeCount = 0;
$('td').each(function() {
var $this = $(this);
if ($this.text().match(new RegExp(/[0-9][A-Z]/)) !== null) {
$this.addClass('active');
activeCount++;
}
if ($this.text().match(new RegExp(/c[0-9]/)) !== null) {
$this.addClass('none');
}
});
// Trigger the modal with the count of 'active' items
$('#myModal').dialog({ autoOpen: true, modal: true, title: 'Active Count',
open: function() { $(this).html('Number of active items: ' + activeCount); } });
});
Alternatif: Menggunakan Vanilla JavaScript untuk Menghitung Sel Aktif
Daripada mengandalkan perpustakaan pihak ketiga seperti jQuery, solusi ini menambahkan kelas dan menghitung sel yang digunakan .
document.addEventListener('DOMContentLoaded', function() {
var cells = document.querySelectorAll('td');
var activeCount = 0;
cells.forEach(function(cell) {
if (/[0-9][A-Z]/.test(cell.textContent)) {
cell.classList.add('active');
activeCount++;
} else if (/c[0-9]/.test(cell.textContent)) {
cell.classList.add('none');
}
});
// Open the modal to display the count
var modal = document.getElementById('myModal');
modal.style.display = 'block';
modal.innerHTML = 'Number of active items: ' + activeCount;
});
Pendekatan Backend: Menggunakan Node.js dan Express dengan Templating EJS
Ini contoh kegunaan untuk merender jumlah sel di jendela modal sambil menghitung sel di sisi server.
const express = require('express');
const app = express();
app.set('view engine', 'ejs');
app.get('/', (req, res) => {
const tableData = [['1A', '2B', '3C'], ['c1', '4D', '5E']];
let activeCount = 0;
tableData.forEach(row => {
row.forEach(cell => {
if (/[0-9][A-Z]/.test(cell)) {
activeCount++;
}
});
});
res.render('index', { activeCount });
});
app.listen(3000, () => console.log('Server running on port 3000'));
Pengujian Unit dengan Jest untuk Solusi Backend
Di sini, kami mengembangkan pengujian unit untuk solusi Node.js menggunakan untuk membuat logika penghitungan aktif berfungsi sebagaimana mestinya.
const { countActiveCells } = require('./countActive');
test('counts active cells correctly', () => {
const tableData = [['1A', '2B', '3C'], ['c1', '4D', '5E']];
expect(countActiveCells(tableData)).toBe(4);
});
test('returns zero if no active cells', () => {
const tableData = [['c1', 'c2', 'c3'], ['c4', 'c5', 'c6']];
expect(countActiveCells(tableData)).toBe(0);
});
Memperluas Pemilihan Sel dan Penanganan Kelas di JavaScript
Bekerja dengan Dan juga melibatkan kemampuan untuk memodifikasi kelas secara dinamis sebagai respons terhadap masukan atau konten pengguna. Anda dapat melakukan lebih dari sekedar menghitung sel; Anda juga dapat menangani input pengguna dan langsung mengubah konten tabel. Misalnya menggunakan metode seperti di jQuery atau classList.remove() di vanilla JavaScript, Anda dapat mengubah kelas secara dinamis, menyorot, atau bahkan menghapus kelas ketika pengguna mengklik sel tabel. Hasilnya, tabel menjadi jauh lebih interaktif, dan penyesuaian lebih lanjut berdasarkan pembaruan konten secara real-time dapat dilakukan.
Tabel yang menampilkan data waktu nyata di mana sel tertentu perlu dipisahkan secara visual bergantung pada perubahan kelas akan menjadi kasus penggunaan yang berguna untuk ini. Sangat mudah untuk mengikat fungsi yang menyebabkan modifikasi ini dengan menggunakan pendengar acara. Dalam JavaScript, misalnya, Anda dapat menggunakan untuk mendengarkan kejadian pada sel tertentu, seperti klik atau penekanan tombol. Modifikasi kelas tambahan atau bahkan pembaruan pada penghitung yang mencerminkan jumlah sel dalam tabel mungkin dihasilkan dari interaksi ini.
Anda juga dapat memikirkan situasi di mana sel harus diperbarui secara otomatis tanpa masukan apa pun dari pengguna. Isi tabel dapat diperbarui dan dipantau secara terus menerus melalui panggilan interval atau AJAX. Ekspresi reguler dan metode seperti izinkan tabel untuk secara otomatis mengubah kelasnya dan meluncurkan modal ketika ambang batas tercapai. Tabel kini dapat digunakan dalam aplikasi yang lebih dinamis, seperti dasbor dan pengaturan berbasis data.
- Di vanilla JavaScript, bagaimana cara menghitung komponen milik kelas tertentu?
- Untuk memilih setiap elemen dengan kelas itu, gunakan ; untuk menghitungnya, gunakan .
- Berdasarkan konten sel tabel, bagaimana cara menambahkan kelas ke dalamnya?
- Anda dapat menerapkan kelas menggunakan dan memeriksa isi sel menggunakan atau properti.
- Yang membedakan dalam vanilla JavaScript dari di jQuery?
- adalah properti JavaScript asli, dan adalah metode jQuery yang mengambil atau mengubah konten elemen yang dipilih.
- Saat menghitung sel milik kelas tertentu, bagaimana cara memulai modal?
- Untuk membuat modal di jQuery dan memicunya bergantung pada jumlah item dengan kelas tertentu, gunakan .
- Dalam JavaScript, bagaimana saya bisa mengeluarkan kelas dari suatu elemen?
- Di vanilla JavaScript, Anda dapat menggunakan untuk menghapus kelas dari suatu elemen.
JavaScript atau jQuery dapat digunakan untuk mengelola penghitungan sel dengan kelas tertentu, misalnya , dengan cara yang efektif. Ekspresi reguler adalah alat yang berguna untuk mengidentifikasi pola dalam isi tabel, yang memfasilitasi tugas kelas dinamis dan interaksi lainnya.
Selain itu, metode yang berguna untuk memberi tahu pengguna tentang status tabel adalah dengan memulai modal berdasarkan jumlah sel aktif ini. Itu fungsi di jQuery atau modal khusus adalah dua metode yang memberikan banyak fleksibilitas dalam menangani konten tabel.
- Informasi tentang menambahkan kelas secara dinamis dan menangani konten menggunakan JavaScript dan jQuery bersumber dari panduan terperinci yang tersedia di Dokumentasi API jQuery .
- Wawasan tentang penggunaan ekspresi reguler dalam JavaScript untuk memanipulasi konten direferensikan dari dokumentasi yang ditemukan di Dokumen Web MDN .
- Pembuatan modal menggunakan metode Dialog jQuery UI dan detail penggunaannya dapat dieksplorasi di Dokumentasi Dialog jQuery UI .
- Pentingnya menghitung elemen dengan kelas tertentu dalam JavaScript dan contoh praktisnya dapat diulas di artikel seperti Panduan JavaScript FreeCodeCamp .