Spaces:
Running
Running
File size: 2,154 Bytes
8f0fa74 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
let currentId = 0;
let chosen = null;
function loadQuestion(qid = null) {
let url = "/api/question";
if (qid) url += "?id=" + qid;
$.getJSON(url, function(data) {
currentId = data.id;
$("#qno").text("๋ฌธ์ " + data.qno);
$("#stem").text(data.stem);
$("#options").empty();
data.options.forEach(opt => {
let btn = $("<button>")
.addClass("list-group-item list-group-item-action")
.text(opt)
.click(function() {
$("#options button").removeClass("active");
$(this).addClass("active");
chosen = opt;
});
$("#options").append(btn);
});
$("#result").empty();
});
}
function submitAnswer() {
if (!chosen) {
alert("์ ํ์ง๋ฅผ ๊ณ ๋ฅด์ธ์!");
return;
}
$.ajax({
url: "/api/answer",
type: "POST",
contentType: "application/json",
data: JSON.stringify({ question_id: currentId, chosen: chosen }),
success: function(resp) {
let resultText = resp.correct
? `<div class="alert alert-success">์ ๋ต์
๋๋ค! โ
</div>`
: `<div class="alert alert-danger">ํ๋ ธ์ต๋๋ค โ<br>์ ๋ต: ${resp.answer}</div>`;
$("#result").html(resultText);
}
});
}
function loadNext() {
$.getJSON("/api/next?current_id=" + currentId, function(data) {
if (data.end) {
$("#qno").text("๋!");
$("#stem").text(data.message);
$("#options").empty();
$("#result").empty();
} else {
currentId = data.id;
$("#qno").text("๋ฌธ์ " + data.qno);
$("#stem").text(data.stem);
$("#options").empty();
chosen = null;
data.options.forEach(opt => {
let btn = $("<button>")
.addClass("list-group-item list-group-item-action")
.text(opt)
.click(function() {
$("#options button").removeClass("active");
$(this).addClass("active");
chosen = opt;
});
$("#options").append(btn);
});
$("#result").empty();
}
});
}
$(document).ready(function() {
loadQuestion();
$("#submitBtn").click(submitAnswer);
$("#nextBtn").click(loadNext);
});
|