Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Όπως το λέει ο  #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;
}

 

 

 

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...