Exporter un tableau html avec des listes déroulantes vers un fichier CSV à l'aide de jquery / javascript

Amila Bečirović

Comme écrit dans le titre, j'ai un tableau HTML qui comporte quelques colonnes dans lesquelles l'utilisateur doit sélectionner des valeurs dans des listes déroulantes. Ce que je veux faire, c'est pouvoir exporter cette table vers un fichier CSV. J'ai trouvé en ligne un plugin jquery mais j'ai un problème avec les listes déroulantes. Il restitue toutes les options pour chaque ligne au lieu de celles qui sont sélectionnées. J'ai essayé de résoudre ce problème mais j'ai échoué.

Le plugin JQuery et la table d'exemple se trouvent dans jsfiddle:

https://jsfiddle.net/bLa8pn74/

J'ai essayé d'insérer ceci:

if($(this).find('select').each(function(){
                    line.push(_quote_text($(this).find("option:selected").text()));
                }));

Mais il n'a imprimé que la ligne de tête. Maintenant, cela devrait être un simple changement, mais je ne peux tout simplement pas le comprendre.

EDIT: je voudrais que ma solution soit sans créer de nouvelle table.

EDIT 2 : j'ai essayé ce code aussi:

if($(this).find('select')){
    line.push(_quote_text($(this).find('option:selected').text()));
            }
    line.push(_quote_text(_trim_text($(this).text())));

Et cela me donne l'option sélectionnée mais aussi ensuite toutes les options de liste déroulante, et des "", "" supplémentaires, où il trouve une cellule vide.

Et si j'ajoute "else" avant le deuxième "line.push" alors il ne renvoie que les valeurs sélectionnées et tout le reste est vide.

Amila Bečirović

J'ai trouvé ce qui manquait. J'avais juste besoin du ".length" dans ma condition if.

if($(this).find('select').length){
          line.push(_quote_text($(this).find('option:selected').text()));
 }else{
       line.push(_quote_text(_trim_text($(this).text())));
       }

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

TOP liste

  1. 1

    J'ai besoin de savoir si ces deux phrases sont les mêmes en programmation

  2. 2

    Javascript indiquant "impossible de définir la propriété 'innerHTML' sur null"

  3. 3

    Nextcloud avec Docker: impossible de créer ou d'écrire dans le répertoire de données

  4. 4

    La taille de la forme n'est pas égale à la taille de la cellule du tableau et ajuste le texte à l'intérieur de la forme

  5. 5

    Trouver l'intersection et l'union de deux rectangles

  6. 6

    Comment changer la couleur de la police dans R?

  7. 7

    Empêcher l'allocation de mémoire dans la génération de combinaison récursive

  8. 8

    Référencement des assemblys de structure .net 4.7 dans la solution .net core 2

  9. 9

    Compter combien de fois un nombre apparaît dans un tableau aléatoire

  10. 10

    Pourquoi utiliser Asyncio ne réduit pas le temps d'exécution global en Python et n'exécute pas les fonctions simultanément?

  11. 11

    Comment convertir une chaîne en tuple en utilisant `reads`?

  12. 12

    java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

  13. 13

    comment afficher un bouton au-dessus d'un autre élément ?

  14. 14

    Création d'un nouvel objet d'une classe avec un nouveau nom en cliquant sur un bouton dans java swing

  15. 15

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  16. 16

    Restauration de la sauvegarde de la base de données SQL Server sur la version inférieure

  17. 17

    Créer un graphique à barres avec une fréquence relative / à partir d'un objet de table dans R

  18. 18

    Création d'un rappel python pour une fonction C à partir d'une DLL avec un tampon char.

  19. 19

    java.lang.NoClassDefFoundError: org / springframework / data / repository / config / BootstrapMode

  20. 20

    comment le contrôle de tableau javascript devrait-il être

  21. 21

    impossible d'ouvrir un nouvel onglet dans react, ajoute localhost: 3000 sur le lien?

chaudétiquette

Archive