Βοήθεια με javascript

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
dtravlos
Δημοσιεύσεις: 244
Εγγραφή: 29 Ιαν 2009 15:03
Τοποθεσία: Keratsini
Επικοινωνία:

Βοήθεια με javascript

Δημοσίευση από dtravlos » 07 Ιαν 2011 13:35

Καλησπέρα χρόνια πολλά και καλή χρονιά! Έχω ένα πίνακα html στον οποίο με μια function κάνω append και προσθέτω κάποια tr με δεδομένα. Τα tr αυτά έχουν id = list_1,2 κτλ το οποίο γίνεται auto increment με κάθε προσθήκη. Όταν όμως αφαιρώ ένα tr πχ το 3, το id των tr γίνεται έτσι: list_1, list_2, list_4, list_5 κοκ. Μπορείτε να με βοηθήσετε πώς μπορώ όταν αφαιρώ 1 tr να γίνεται ξανά απ την αρχή η αρίθμηση απ' το 1? Σας παραθέτω τον κώδικα που υπάρχει ήδη για την αφαίρεση του tr.

Ευχαριστώ πολύ!

Κώδικας: Επιλογή όλων

if (list_product_id != '' || list_product_id != null)
    {
        var remconf = window.confirm("Θέλετε σίγουρα να διαγράψετε το προϊόν;");

        if(remconf)
            {
                index_to_remove = list_product_id.slice(list_product_id.lastIndexOf('_') + 1);
                products_house[index_to_remove - 1] = 0;
                products_cat[index_to_remove - 1] = 0;
                products_subcat[index_to_remove - 1] = 0;
                products_model[index_to_remove - 1] = 0;
                products_comments[index_to_remove - 1] = 0;

                table_element = document.getElementById('table_products_results_body');

                alert(list_product_id);

                table_element.removeChild(document.getElementById(list_product_id));

                

                AJAX_Remove_Products_Num();
            }
        
    }

Άβαταρ μέλους
_tasos
Δημοσιεύσεις: 116
Εγγραφή: 03 Μάιος 2007 15:06
Επικοινωνία:

Βοήθεια με javascript

Δημοσίευση από _tasos » 07 Ιαν 2011 15:38

Δες λίγο αυτήν την function. Για τον πίνακα με id 'mytable' παίρνει όλα τα tr και τους αλλάζει το id με βάση την αρίθμηση. Η getElementsByTagName επιστρέφει τον array με τα <tr> με τη σειρά που εμφανίζονται στον HTML κώδικα.

Κώδικας: Επιλογή όλων

function fix_ids&#40;&#41; &#123;
    var my_table = document.getElementById&#40;'mytable'&#41;;
    var all_rows = my_table.getElementsByTagName&#40;"tr"&#41;;

    for &#40;i = 0; i <= all_rows.length - 1; i++&#41;
        all_rows&#91;i&#93;.id = "list_" + &#40;i+1&#41;;
&#125;

dtravlos
Δημοσιεύσεις: 244
Εγγραφή: 29 Ιαν 2009 15:03
Τοποθεσία: Keratsini
Επικοινωνία:

Βοήθεια με javascript

Δημοσίευση από dtravlos » 07 Ιαν 2011 15:40

Σ ευχαριστώ πολύ για τη βοήθεια! Επειδή το πρώτο tr είναι τα headers μπορείς να με βοηθήσεις πώς θα το τροποποιήσω για να παίρνει το 2o tr id 1 και τα υπόλοιπα ++?

Άβαταρ μέλους
_tasos
Δημοσιεύσεις: 116
Εγγραφή: 03 Μάιος 2007 15:06
Επικοινωνία:

Βοήθεια με javascript

Δημοσίευση από _tasos » 07 Ιαν 2011 15:44

τότε δοκίμασε το εξής:

Κώδικας: Επιλογή όλων

function fix_ids&#40;&#41; &#123; 
    var my_table = document.getElementById&#40;'mytable'&#41;; 
    var all_rows = my_table.getElementsByTagName&#40;"tr"&#41;; 

    for &#40;i = 1; i <= all_rows.length - 1; i++&#41; 
        all_rows&#91;i&#93;.id = "list_" + i; 
&#125;

dtravlos
Δημοσιεύσεις: 244
Εγγραφή: 29 Ιαν 2009 15:03
Τοποθεσία: Keratsini
Επικοινωνία:

Βοήθεια με javascript

Δημοσίευση από dtravlos » 07 Ιαν 2011 15:46

Σε υπερευχαριστώ!!! Θα δοκιμάσω να βάλω το περιεχόμενο της function κάτω απ το removeChild.

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης