ThinkFaculty

Business Consultants, Trainers and Professional Services Company

RIASEC Test

div id=”riasec-test”></div> <button onclick=”calculateRIASEC()”>Submit Test</button> <div id=”riasec-dashboard”></div> <script src=”https://cdn.jsdelivr.net/npm/chart.js”></script> <script> const questions = [ {q:”I enjoy repairing things.”, cat:”R”}, {q:”I like working outdoors.”, cat:”R”}, {q:”I prefer using tools and machines.”, cat:”R”}, {q:”I enjoy physical activity.”, cat:”R”}, {q:”I like building or fixing objects.”, cat:”R”}, {q:”I prefer practical tasks over abstract ones.”, cat:”R”}, {q:”I enjoy manual labor.”, cat:”R”}, {q:”I like working with my hands.”, cat:”R”}, {q:”I enjoy operating equipment.”, cat:”R”}, {q:”I prefer concrete results.”, cat:”R”}, {q:”I enjoy solving math problems.”, cat:”I”}, {q:”I like analyzing data.”, cat:”I”}, {q:”I prefer scientific experiments.”, cat:”I”}, {q:”I enjoy researching topics.”, cat:”I”}, {q:”I like working with ideas.”, cat:”I”}, {q:”I prefer logical reasoning.”, cat:”I”}, {q:”I enjoy exploring how things work.”, cat:”I”}, {q:”I like problem-solving.”, cat:”I”}, {q:”I prefer intellectual challenges.”, cat:”I”}, {q:”I enjoy theoretical discussions.”, cat:”I”}, {q:”I enjoy drawing or painting.”, cat:”A”}, {q:”I like writing stories or poems.”, cat:”A”}, {q:”I prefer creative expression.”, cat:”A”}, {q:”I enjoy music or drama.”, cat:”A”}, {q:”I like designing things.”, cat:”A”}, {q:”I prefer originality over routine.”, cat:”A”}, {q:”I enjoy performing arts.”, cat:”A”}, {q:”I like imaginative activities.”, cat:”A”}, {q:”I prefer flexible environments.”, cat:”A”}, {q:”I enjoy creating new ideas.”, cat:”A”}, {q:”I enjoy helping people.”, cat:”S”}, {q:”I like teaching others.”, cat:”S”}, {q:”I prefer teamwork.”, cat:”S”}, {q:”I enjoy counseling or advising.”, cat:”S”}, {q:”I like volunteering.”, cat:”S”}, {q:”I prefer cooperative environments.”, cat:”S”}, {q:”I enjoy supporting others.”, cat:”S”}, {q:”I like guiding people.”, cat:”S”}, {q:”I prefer interpersonal interaction.”, cat:”S”}, {q:”I enjoy service roles.”, cat:”S”}, {q:”I enjoy leading groups.”, cat:”E”}, {q:”I like persuading others.”, cat:”E”}, {q:”I prefer competitive environments.”, cat:”E”}, {q:”I enjoy selling products or ideas.”, cat:”E”}, {q:”I like managing projects.”, cat:”E”}, {q:”I prefer taking risks.”, cat:”E”}, {q:”I enjoy public speaking.”, cat:”E”}, {q:”I like influencing decisions.”, cat:”E”}, {q:”I prefer ambitious goals.”, cat:”E”}, {q:”I enjoy entrepreneurship.”, cat:”E”}, {q:”I enjoy organizing files.”, cat:”C”}, {q:”I like working with numbers.”, cat:”C”}, {q:”I prefer structured tasks.”, cat:”C”}, {q:”I enjoy following procedures.”, cat:”C”}, {q:”I like clerical work.”, cat:”C”}, {q:”I prefer routine.”, cat:”C”}, {q:”I enjoy record-keeping.”, cat:”C”}, {q:”I like accuracy and detail.”, cat:”C”}, {q:”I prefer rules and order.”, cat:”C”}, {q:”I enjoy administrative tasks.”, cat:”C”} ]; // Render questions const container = document.getElementById(‘riasec-test’); questions.forEach((item,i)=>{ const div = document.createElement(‘div’); div.innerHTML = `<p>${i+1}. ${item.q}</p> <select id=”q${i}”> <option value=”1″>Strongly Dislike</option> <option value=”2″>Dislike</option> <option value=”3″>Neutral</option> <option value=”4″>Like</option> <option value=”5″>Strongly Like</option> </select>`; container.appendChild(div); }); function calculateRIASEC(){ let scores = {R:0,I:0,A:0,S:0,E:0,C:0}; questions.forEach((item,i)=>{ scores[item.cat]+=parseInt(document.getElementById(‘q’+i).value); }); // Sort scores const sorted = Object.entries(scores).sort((a,b)=>b[1]-a[1]); const top1 = sorted[0], top2 = sorted[1], top3 = sorted[2]; let resultType = ”; if (top1[1]-top2[1]>=10) resultType=’Single Dominant’; else if ((top1[1]-sorted[2][1]>=10)&&(top2[1]-sorted[2][1]>=10)) resultType=’Dual Dominant’; else if (top1[1]-top3[1]>=10) resultType=’Triple Dominant (Strong)’; else if (top1[1]-top3[1]>=5) resultType=’Triple Dominant (Moderate)’; else if (top1[1]-top3[1]<=4) resultType=’Triple Dominant (Weak)’; else if (Math.max(…Object.values(scores))-Math.min(…Object.values(scores))<=5) resultType=’Undifferentiated’; else if (Math.max(…Object.values(scores))-Math.min(…Object.values(scores))<=2) resultType=’Flat Profile’; const code = top1[0]+top2[0]+top3[0]; // Dashboard output const dash = document.getElementById(‘riasec-dashboard’); dash.innerHTML = `<h3>Result Type: ${resultType}</h3> <h4>Holland Code: ${code}</h4> <p>Your top interests are ${top1[0]}, ${top2[0]}, and ${top3[0]}.</p>`; // Bar chart const ctx = document.createElement(‘canvas’); dash.appendChild(ctx); new Chart(ctx,{ type:’bar’, data:{ labels:[‘R’,’I’,’A’,’S’,’E’,’C’], datasets:[{label:’Scores’,data:[scores.R,scores.I,scores.A,scores.S,scores.E,scores.C], backgroundColor:[‘#ff6666′,’#66b3ff’,’#ffcc66′,’#99ff99′,’#cc99ff’,’#cccccc’]}] } }); } </script>

Scroll to top