
- Node.js - Home
- Node.js - Introduction
- Node.js - Environment Setup
- Node.js - First Application
- Node.js - REPL Terminal
- Node.js - Command Line Options
- Node.js - Package Manager (NPM)
- Node.js - Callbacks Concept
- Node.js - Upload Files
- Node.js - Send an Email
- Node.js - Events
- Node.js - Event Loop
- Node.js - Event Emitter
- Node.js - Debugger
- Node.js - Global Objects
- Node.js - Console
- Node.js - Process
- Node.js - Scaling Application
- Node.js - Packaging
- Node.js - Express Framework
- Node.js - RESTFul API
- Node.js - Buffers
- Node.js - Streams
- Node.js - File System
- Node.js MySQL
- Node.js - MySQL Get Started
- Node.js - MySQL Create Database
- Node.js - MySQL Create Table
- Node.js - MySQL Insert Into
- Node.js - MySQL Select From
- Node.js - MySQL Where
- Node.js - MySQL Order By
- Node.js - MySQL Delete
- Node.js - MySQL Update
- Node.js - MySQL Join
- Node.js MongoDB
- Node.js - MongoDB Get Started
- Node.js - MongoDB Create Database
- Node.js - MongoDB Create Collection
- Node.js - MongoDB Insert
- Node.js - MongoDB Find
- Node.js - MongoDB Query
- Node.js - MongoDB Sort
- Node.js - MongoDB Delete
- Node.js - MongoDB Update
- Node.js - MongoDB Limit
- Node.js - MongoDB Join
- Node.js Modules
- Node.js - Modules
- Node.js - Built-in Modules
- Node.js - Utility Modules
- Node.js - Web Module
Quiz on Node.js and MongoDB Integration
${quizData[index].explanation}`; explanationDiv.style.display = "block"; if (buttonSpan) { buttonSpan.textContent = "Hide Answer"; } // Find the correct option and highlight it with yellow background const correctRadio = document.querySelector(`input[name="q${index}"][value="${correctAnswerIndex}"]`); if (correctRadio) { // Find the parent list item and highlight it const correctOption = correctRadio.closest('li'); if (correctOption) { correctOption.style.backgroundColor = "#fff9b7"; } } } } function submitQuiz() { let score = 0, attempted = 0; quizData.forEach((q, index) => { // Since we've hidden the radio buttons, we need to check their state const selectedOption = document.querySelector(`input[name="q${index}"]:checked`); if (selectedOption) { attempted++; if (parseInt(selectedOption.value) === q.answer) score++; } }); if (attempted < Math.ceil(quizData.length / 2)) { alert(`Please attempt at least ${Math.ceil(quizData.length / 2)} questions before submitting.`); return; } document.getElementById("result").innerText = `You scored ${score} out of ${quizData.length}!`; document.querySelector(".review-btn").disabled = false; document.querySelector(".review-btn").classList.add("enabled"); document.querySelector(".result-container").style.display = "block"; // Destroy any existing chart to prevent duplicate rendering if (window.quizResultChart) { window.quizResultChart.destroy(); } // Create new chart and store reference window.quizResultChart = new Chart(document.getElementById("resultChart"), { type: 'pie', data: { labels: ["Correct", "Incorrect"], datasets: [{ data: [score, quizData.length - score], backgroundColor: ["#28a745", "#dc3545"] }] } }); } function reviewQuiz() { quizData.forEach((q, index) => { showQuizAnswer(index); }); document.querySelector(".review-btn").disabled = true; } loadQuiz();
Advertisements