పట్టికలో యాక్టివ్ క్లాస్ కౌంట్తో మోడల్ను ట్రిగ్గర్ చేయడం
మీరు పని చేస్తున్నప్పుడు ప్రతి సెల్లోని కంటెంట్ల ఆధారంగా అనుకూల ప్రవర్తనను వర్తింపజేయవచ్చు HTML పట్టికలు. ఉదాహరణకు, టేబుల్ సెల్లకు తరగతులను డైనమిక్గా కేటాయించడానికి మీరు నిర్దిష్ట నమూనాలు లేదా ప్రమాణాలను ఉపయోగించవచ్చు. ఫలితంగా మీ టేబుల్ మరింత ఉపయోగకరంగా మరియు ఆకర్షణీయంగా మారవచ్చు.
ఈ ఉదాహరణలో, నిర్దిష్ట అవసరాలను తీర్చే టేబుల్ సెల్స్ అనే తరగతి ఉంటుంది చురుకుగా వాటిని జోడించారు. ఎ జావాస్క్రిప్ట్ ప్రతి గడిని పరిశీలించి, దాని కంటెంట్లను ధృవీకరించి, ఆపై తరగతిని సముచితంగా వర్తింపజేసే ఫంక్షన్ దీన్ని చేయడానికి ఉపయోగించబడుతుంది. ఇది నిర్దిష్ట కణాలను వాటి డేటా ప్రకారం నిర్వహించే ఉత్పాదక పద్ధతి.
దరఖాస్తు చేసిన తర్వాత చురుకుగా కణాల ఉపసమితికి తరగతి, ఈ తరగతిని కలిగి ఉన్న కణాల సంఖ్యను లెక్కించడం తరచుగా తదుపరి దశ కావచ్చు. మీరు ఈవెంట్ లేదా చర్యను ప్రారంభించాలనుకుంటే, గణనను చూపించే మోడల్ను తెరవడం, ఈ సెల్లను లెక్కించడం చాలా ఉపయోగకరంగా ఉంటుంది.
ఈ ట్యుటోరియల్ కలిగి ఉన్న సెల్ల సంఖ్యను లెక్కించడానికి జావాస్క్రిప్ట్ను ఎలా ఉపయోగించాలో నేర్పుతుంది చురుకుగా తరగతి మరియు గణనను చూపే మోడల్ను స్వయంచాలకంగా ప్రారంభించడం. ఉపయోగించి j క్వెరీ, పరిష్కారం సూటిగా, సమర్థవంతమైనది మరియు అమలు చేయడం సులభం.
ఆదేశం | ఉపయోగం యొక్క ఉదాహరణ | |
---|---|---|
.each() | సరిపోలిన మూలకాల సమితిలోని ప్రతి మూలకం ఈ j క్వెరీ ఫంక్షన్ ద్వారా మళ్ళించబడుతుంది. ఇది ప్రతి టేబుల్ సెల్పై పునరావృతం చేయడం ద్వారా షరతులతో కూడిన తర్కం లేదా తరగతులను వర్తింపజేస్తుంది ( | ) in our example. |
addClass() | The selected items receive one or more class names added to them by this jQuery method. The script applies the చురుకుగా లేదా ఏదీ లేదు వాటి కంటెంట్ ప్రకారం కణాలకు తరగతి. | |
.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. | |
.text() | 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 | సెల్ నిర్దిష్ట నమూనాతో సరిపోలుతుంది. |
RegExp() | ఈ జావాస్క్రిప్ట్ కన్స్ట్రక్టర్తో రెగ్యులర్ ఎక్స్ప్రెషన్లు చేయబడతాయి. వంటి నమూనాలను గుర్తించడం ద్వారా స్క్రిప్ట్ కంటెంట్ ఆధారంగా తరగతులను కేటాయించవచ్చు సంఖ్యల తర్వాత పెద్ద అక్షరాలు లేదా c తరువాత అంకెలు. | |
classList.add() | ఈ ప్రాథమిక జావాస్క్రిప్ట్ టెక్నిక్ ఒక మూలకానికి నిర్దిష్ట తరగతిని ఇస్తుంది. ఇది వనిల్లా జావాస్క్రిప్ట్ సొల్యూషన్లో j క్వెరీ యొక్క addClass() లాగానే పనిచేస్తుంది, జోడించడం చురుకుగా లేదా ఏదీ లేదు పరిస్థితులపై ఆధారపడి తరగతి. | |
DOMContentLoaded | HTML పత్రం లోడ్ చేయడం మరియు అన్వయించడం పూర్తయినప్పుడు, DOMContentLoaded ఈవెంట్ ట్రిగ్గర్ చేయబడుతుంది. వనిల్లా జావాస్క్రిప్ట్ ఉదాహరణలో, DOM లోడ్ పూర్తయిన తర్వాత స్క్రిప్ట్ అమలు చేయబడుతుందని ఇది నిర్ధారిస్తుంది. | |
querySelectorAll() | ఇచ్చిన CSS సెలెక్టర్తో సరిపోలే డాక్యుమెంట్లోని ప్రతి మూలకం ఈ JavaScript ఫంక్షన్ ద్వారా అందించబడుతుంది. ప్రాథమిక జావాస్క్రిప్ట్ ఉదాహరణలో, ప్రతిదాన్ని ఎంచుకోవడానికి ఇది ఉపయోగించబడుతుంది | element in the table for further processing. |
ప్రతి () | 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. |
స్క్రిప్ట్ను అర్థం చేసుకోవడం: కణాలను లెక్కించడం మరియు మోడల్ను ట్రిగ్గర్ చేయడం
మొదటి స్క్రిప్ట్ ఉదాహరణలో, ప్రతి టేబుల్ సెల్ మళ్లీ మళ్లించబడుతుంది, దాని కంటెంట్ మూల్యాంకనం చేయబడుతుంది మరియు ఉపయోగించి మూల్యాంకనాన్ని బట్టి ఒక తరగతి కేటాయించబడుతుంది j క్వెరీ. ప్రతి దాని ద్వారా పునరావృతం చేయడం ద్వారా ఈ లక్షణం సాధ్యమవుతుంది
తో RegExp() కన్స్ట్రక్టర్, అక్షరాలు తర్వాత సరిపోలే సంఖ్యల కోసం ఒక సాధారణ వ్యక్తీకరణ నిర్మించబడింది. ఈ సాంకేతికత "1A" లేదా "3C" వంటి డేటాతో సెల్లు గుర్తించబడి, ప్రస్తుత తరగతితో లేబుల్ చేయబడిందని నిర్ధారిస్తుంది. సెల్ అనే ప్రత్యేక తరగతిని అందుకుంటుంది ఏదీ లేదు కంటెంట్ వేరే నమూనాతో సరిపోలితే, అటువంటి "c" తర్వాత ఒక సంఖ్య ఉంటుంది. ఇది పట్టికలోని డేటాను మరింత ఖచ్చితంగా వర్గీకరించడం సాధ్యపడుతుంది. ఇంకా, ది addClass() సెల్లు ఇప్పటికే కలిగి ఉన్న ఏవైనా తరగతులను తొలగించకుండానే ఈ తరగతులను జోడించవచ్చని పద్ధతి హామీ ఇస్తుంది.
సక్రియ తరగతితో ట్యాగ్ చేయబడిన తర్వాత తగిన సెల్లను లెక్కించడం మరియు మోడల్ను ప్రారంభించడం తదుపరి దశ. సెల్ యాక్టివ్ క్లాస్ని పొందిన ప్రతిసారీ, గణన పెరుగుతుంది మరియు పేరున్న వేరియబుల్లో సేవ్ చేయబడుతుంది క్రియాశీల కౌంట్. ఈ గణనను ఉపయోగించి పట్టికలోని క్వాలిఫైయింగ్ సెల్ల సంఖ్యను తప్పనిసరిగా నిర్ధారించాలి. ఉపయోగించి .dialog() j క్వెరీ UI నుండి ఫంక్షన్, కౌంటింగ్ పూర్తయినప్పుడు మోడల్ రూపొందించబడుతుంది. ది ఆటోఓపెన్: నిజం లక్షణం స్వయంచాలకంగా తెరవడానికి మోడల్ను అనుమతిస్తుంది. సక్రియ కణాల సంఖ్య మోడల్ లోపల చూపబడింది.
రెండవ సందర్భంలో, ఒకే విధమైన విధానాన్ని నకిలీ చేయడానికి వనిల్లా జావాస్క్రిప్ట్ ఉపయోగించబడుతుంది. querySelectorAll() అన్ని టేబుల్ సెల్లను ఎంచుకోవడానికి ఈ విధానంలో j క్వెరీ స్థానంలో ఉపయోగించబడుతుంది మరియు సూటిగా ఉంటుంది ప్రతి () లూప్ ప్రతి సెల్ ద్వారా పునరావృతమవుతుంది. j క్వెరీ సొల్యూషన్లో మాదిరిగానే సెల్ కంటెంట్తో సరిపోలడానికి రెగ్యులర్ ఎక్స్ప్రెషన్లు ఉపయోగించబడతాయి. సరిపోలిక కనుగొనబడితే, యాక్టివ్కౌంట్ నవీకరించబడుతుంది మరియు క్రియాశీల తరగతిని ఉపయోగించి జోడించబడుతుంది classList.add() పద్ధతి. అంతిమంగా, DOMలో ముందే నిర్వచించబడిన మోడల్ మూలకం యొక్క అంతర్గత HTMLని మార్చడం మోడల్ను సక్రియం చేస్తుంది. బయటి లైబ్రరీలపై ఆధారపడని ఈ పరిష్కారాన్ని ఉపయోగించి j క్వెరీ ఉదాహరణ వలె అదే ఫలితం సాధించబడుతుంది.
నిర్దిష్ట తరగతితో కణాలను లెక్కించడం మరియు మోడల్ను ట్రిగ్గర్ చేయడం
ఈ పద్ధతి ఇచ్చిన తరగతిని కలిగి ఉన్న అంశాలను గణిస్తుంది మరియు వాటిని ఉపయోగించి తరగతులను డైనమిక్గా కేటాయిస్తుంది j క్వెరీ. ఇది మోడల్ విండోను తెరుస్తుంది.
$(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); } });
});
ప్రత్యామ్నాయం: యాక్టివ్ సెల్లను లెక్కించడానికి వెనిలా జావాస్క్రిప్ట్ని ఉపయోగించడం
j క్వెరీ వంటి థర్డ్-పార్టీ లైబ్రరీలపై ఆధారపడే బదులు, ఈ సొల్యూషన్ ఒక తరగతిని జోడించి, ఉపయోగించిన సెల్లను లెక్కిస్తుంది స్వచ్ఛమైన జావాస్క్రిప్ట్.
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;
});
బ్యాకెండ్ అప్రోచ్: EJS టెంప్లేటింగ్తో Node.js మరియు Expressని ఉపయోగించడం
ఈ Node.js ఉదాహరణ ఉపయోగాలు EJS టెంప్లేటింగ్ సెల్ గణనను మోడల్ విండోలో అందించడానికి, సెల్లను సర్వర్ వైపు లెక్కిస్తున్నప్పుడు.
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'));
బ్యాకెండ్ సొల్యూషన్ కోసం జెస్ట్తో యూనిట్ టెస్టింగ్
ఇక్కడ, మేము ఉపయోగించి Node.js సొల్యూషన్ కోసం యూనిట్ పరీక్షలను అభివృద్ధి చేస్తాము జస్ట్ సక్రియ కౌంట్ లాజిక్ ఉద్దేశించిన విధంగా పని చేసేలా చేయడానికి.
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);
});
జావాస్క్రిప్ట్లో సెల్ ఎంపిక మరియు క్లాస్ హ్యాండ్లింగ్పై విస్తరిస్తోంది
తో పని చేస్తున్నారు జావాస్క్రిప్ట్ మరియు HTML పట్టికలు వినియోగదారు ఇన్పుట్ లేదా కంటెంట్కు ప్రతిస్పందనగా తరగతులను డైనమిక్గా సవరించగల సామర్థ్యాన్ని కూడా కలిగి ఉంటుంది. మీరు కణాలను లెక్కించడం కంటే ఎక్కువ చేయవచ్చు; మీరు వినియోగదారు ఇన్పుట్లను కూడా నిర్వహించవచ్చు మరియు పట్టికలోని కంటెంట్ను తక్షణమే మార్చవచ్చు. ఉదాహరణకు, వంటి పద్ధతులను ఉపయోగించడం removeClass() j క్వెరీలో లేదా classList.remove() వనిల్లా జావాస్క్రిప్ట్లో, మీరు టేబుల్ సెల్పై వినియోగదారు క్లిక్ చేసినప్పుడు తరగతిని డైనమిక్గా సవరించవచ్చు, హైలైట్ చేయవచ్చు లేదా తరగతిని తీసివేయవచ్చు. ఫలితంగా పట్టికలు మరింత ఇంటరాక్టివ్గా మారతాయి మరియు నిజ సమయంలో కంటెంట్కి నవీకరణల ఆధారంగా మరింత అనుకూలీకరణ సాధ్యమవుతుంది.
తరగతి మార్పుపై ఆధారపడి నిర్దిష్ట సెల్లను దృశ్యమానంగా వేరు చేయాల్సిన నిజ-సమయ డేటాను ప్రదర్శించే పట్టిక దీనికి ఉపయోగకరమైన ఉపయోగ సందర్భం. ఈవెంట్ శ్రోతలను ఉపయోగించడం ద్వారా ఈ మార్పులకు కారణమయ్యే ఫంక్షన్లను బైండ్ చేయడం సులభం. జావాస్క్రిప్ట్లో, ఉదాహరణకు, మీరు ఉపయోగించవచ్చు addEventListener() క్లిక్లు లేదా కీ ప్రెస్ల వంటి నిర్దిష్ట సెల్లలో ఈవెంట్లను వినడానికి. సంఖ్యను ప్రతిబింబించే కౌంటర్కి అదనపు తరగతి సవరణలు లేదా నవీకరణలు కూడా చురుకుగా పట్టికలోని కణాలు ఈ పరస్పర చర్య వలన సంభవించవచ్చు.
వినియోగదారు నుండి ఎటువంటి ఇన్పుట్ లేకుండా సెల్లు స్వయంచాలకంగా నవీకరించబడే పరిస్థితుల గురించి కూడా మీరు ఆలోచించవచ్చు. టేబుల్ కంటెంట్ను విరామం లేదా AJAX కాల్ల ద్వారా నిరంతరం అప్డేట్ చేయవచ్చు మరియు పర్యవేక్షించవచ్చు. వంటి సాధారణ వ్యక్తీకరణలు మరియు పద్ధతులు setInterval() పట్టిక దాని తరగతులను స్వయంచాలకంగా మార్చడానికి మరియు థ్రెషోల్డ్ను చేరుకున్నప్పుడు మోడల్ను ప్రారంభించేందుకు అనుమతించండి. పట్టికలు ఇప్పుడు డ్యాష్బోర్డ్లు మరియు డేటా ఆధారిత సెట్టింగ్ల వంటి మరింత డైనమిక్ అప్లికేషన్లలో ఉపయోగించబడతాయి.
జావాస్క్రిప్ట్ క్లాస్ హ్యాండ్లింగ్ మరియు సెల్ కౌంటింగ్ గురించి తరచుగా అడిగే ప్రశ్నలు
- వనిల్లా జావాస్క్రిప్ట్లో, నేను నిర్దిష్ట తరగతికి చెందిన భాగాలను ఎలా లెక్కించగలను?
- ఆ తరగతితో ఉన్న ప్రతి మూలకాన్ని ఎంచుకోవడానికి, ఉపయోగించండి document.querySelectorAll('.className'); వాటిని లెక్కించడానికి, ఉపయోగించండి length.
- టేబుల్ సెల్లోని కంటెంట్ ఆధారంగా, నేను దానికి క్లాస్ని ఎలా జోడించగలను?
- మీరు ఉపయోగించి తరగతిని దరఖాస్తు చేసుకోవచ్చు classList.add() మరియు ఉపయోగించి సెల్ యొక్క కంటెంట్లను తనిఖీ చేయండి textContent లేదా innerText లక్షణాలు.
- ఏది వేరు చేస్తుంది text() నుండి వనిల్లా జావాస్క్రిప్ట్ textContent j క్వెరీలో?
- textContent స్థానిక జావాస్క్రిప్ట్ ప్రాపర్టీ, మరియు text() ఎంచుకున్న మూలకాల యొక్క కంటెంట్ను తిరిగి పొందే లేదా సవరించే j క్వెరీ పద్ధతి.
- నిర్దిష్ట తరగతికి చెందిన కణాలను లెక్కించేటప్పుడు, నేను మోడల్ను ఎలా ప్రారంభించగలను?
- j క్వెరీలో మోడల్ను రూపొందించడానికి మరియు నిర్దిష్ట తరగతితో ఉన్న అంశాల సంఖ్యపై ఆధారపడి ట్రిగ్గర్ చేయడానికి, ఉపయోగించండి .dialog().
- జావాస్క్రిప్ట్లో, ఎలిమెంట్ నుండి నేను క్లాస్ని ఎలా తీసుకోగలను?
- వనిల్లా జావాస్క్రిప్ట్లో, మీరు ఉపయోగించవచ్చు classList.remove('className') ఒక మూలకం నుండి తరగతిని తీసివేయడానికి.
సెల్ కౌంటింగ్ మరియు మోడల్స్పై తుది ఆలోచనలు
జావాస్క్రిప్ట్ లేదా j క్వెరీని నిర్దిష్ట తరగతితో లెక్కింపు కణాలను నిర్వహించడానికి ఉపయోగించవచ్చు చురుకుగా, సమర్థవంతమైన పద్ధతిలో. డైనమిక్ క్లాస్ అసైన్మెంట్లు మరియు ఇతర పరస్పర చర్యలను సులభతరం చేసే టేబుల్ కంటెంట్లోని నమూనాలను గుర్తించడానికి రెగ్యులర్ ఎక్స్ప్రెషన్లు ఉపయోగకరమైన సాధనం.
ఇంకా, ఈ యాక్టివ్ సెల్ల సంఖ్య ఆధారంగా మోడల్ను ప్రారంభించడం అనేది పట్టిక స్థితిని వినియోగదారులకు తెలియజేయడానికి ఉపయోగకరమైన పద్ధతి. ది .dialog() j క్వెరీలో ఫంక్షన్ లేదా కస్టమ్ మోడల్ అనేది టేబుల్ కంటెంట్ని హ్యాండిల్ చేసే విషయంలో చాలా పాండిత్యాన్ని అందించే రెండు పద్ధతులు.
మూలాలు మరియు సూచనలు
- జావాస్క్రిప్ట్ మరియు j క్వెరీని ఉపయోగించి డైనమిక్గా క్లాస్లను జోడించడం మరియు కంటెంట్ని నిర్వహించడం గురించిన సమాచారం ఇక్కడ అందుబాటులో ఉన్న వివరణాత్మక గైడ్ నుండి తీసుకోబడింది j క్వెరీ API డాక్యుమెంటేషన్ .
- కంటెంట్ని మార్చడానికి జావాస్క్రిప్ట్లో సాధారణ వ్యక్తీకరణలను ఉపయోగించడం గురించి అంతర్దృష్టులు ఇక్కడ కనుగొనబడిన డాక్యుమెంటేషన్ నుండి సూచించబడ్డాయి MDN వెబ్ డాక్స్ .
- j క్వెరీ UI డైలాగ్ పద్ధతిని ఉపయోగించి మోడల్ సృష్టి మరియు దాని వివరణాత్మక వినియోగాన్ని ఇక్కడ అన్వేషించవచ్చు j క్వెరీ UI డైలాగ్ డాక్యుమెంటేషన్ .
- జావాస్క్రిప్ట్లోని నిర్దిష్ట తరగతులతో మూలకాలను లెక్కించడం యొక్క ప్రాముఖ్యత మరియు ఆచరణాత్మక ఉదాహరణలు వంటి కథనాలలో సమీక్షించవచ్చు FreeCodeCamp JavaScript గైడ్ .