k33theod Δημοσ. 14 Μαΐου 2018 Δημοσ. 14 Μαΐου 2018 Όπως το λέει ο #Fortistis Προσπάθησα να θυμηθώ λίγο js και έγραψα κάποια πράγματα χωρίς να το καταφέρω ολόκληρο είναι η συνάρτηση που κάνει τον πίνακα με input numbers function change_text_with_input(){//κάνει το text input var rows = document.querySelector('tbody').querySelectorAll('tr'); for (var i= 0; i<rows.length; i++){ var data = rows[i].querySelectorAll('td'); data.forEach(dato =>{ var new_el=document.createElement("input"); new_el.setAttribute("type", "number"); new_el.setAttribute("value", dato.textContent); dato.replaceChild(new_el, dato.childNodes[0]); }); } } έτσι γίνεται το sort σε πίνακα rows.length*headers.length (είναι τα περίεργα της js εδώ) που έχει μέσα μόνο τους αριθμούς και μετά από τον πίνακα μεταφέρεις τα στοιχεία στα nodes for (var i = 0; i<headers.length; i++){ headers[i].addEventListener("click", function (){ data_matrix.sort(function(a, b){return a[i] - b[i]}); enimerosi_html(); }, false); } έτσι περίπου δημιουργείται ο πίνακας function read_data_to_matrix(){ var headers = document.querySelector('thead').querySelectorAll('td'); var rows = document.querySelector('tbody').querySelectorAll('tr'); var data_matrix = new Array(rows.length) ; for (var i= 0; i<rows.length; i++){ var data = rows[i].querySelectorAll('input'); var row_array = new Array(headers.length); for (var j=0;j<headers.length;j++){ row_array[j] = Number(data[j].value); } console.log(row_array); data_matrix[i] = row_array; } return data_matrix; }
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα