site-accueil-insa/edit_score/statsManager.js

45 lines
No EOL
1.6 KiB
JavaScript
Executable file

$(document).ready(function () {
$(".add-line").click(function () {
$(".stats-table")
.prepend("<tr class='entry'>" +
"<td class=\"edit-text\">" +
"<input type='text' value='text''></td>" +
"<td class=\"edit-points\"><input type='number' value='0'></td>" +
"<td class='remove-line'>" +
"<i class='fas fa-trash'></i>" +
"</td>" +
"</tr>");
});
$(".stats-table").on("click", ".remove-line", function (elem) {
$(elem.target).parent().remove();
console.log("clicked")
});
$(".save-score").click(function () {
let lines = get_lines();
let object = {"array": lines};
let ajaxurl = 'post_scores.php';
let data = {'data': JSON.stringify(object)};
$.post(ajaxurl, data, function (data, status) {
alert("\nStatus: " + status);
});
});
});
function get_lines() {
let elements = $(".entry").map(function () {
return this;
}).get();
let array = [];
for (let i = 0; i < elements.length; i++) {
let fields = $(elements[i]).find('input');
let values = {"text": "", "points": 0};
for (let j = 0; j < fields.length; j++) {
if ($(fields[j]).attr("type") === "text")
values.text = $(fields[j]).prop("value");
if ($(fields[j]).attr("type") === "number")
values.points = parseInt($(fields[j]).prop("value"));
}
array.push(values);
}
return array;
}