[Rails 6] cocoon_ Ajouter des attributs d'identifiant et de données au formulaire à ajouter

Environnement de développement

table des matières __1) Comment installer Cocoon 2) Ajouter un formulaire dynamiquement * Chikajika sera UP 3) Ajoutez des attributs d'id et de données au formulaire à ajouter __

3) Ajoutez des attributs d'identifiant et de données au formulaire à ajouter

__ Je pense qu'il est difficile de lire mon nom de classe et mon identifiant tels quels, alors j'utilise A, B et C pour une meilleure compréhension. __ Je pense publier une image GIF si j'en ai envie bientôt.

$(function() {
  //N'oubliez pas la définition d'abord.
  let index = 1;
  //Je ne savais pas quel cours prendre, alors j'ai essayé plusieurs fois.(.onegai)Est une expression de ce cœur.
  //En conséquence, dans mon cas"Bouton à ajouter"Quand"L'enfant que vous souhaitez ajouter"J'ai fait un div qui les renferme tous et leur ai donné une classe.
  $('.onegai')
     // 'cocoon:after-insert'Cet événement est Kimo. Il y a d'autres événements qui sont exécutés avant l'insertion et avant / après la suppression, donc si vous êtes intéressé, veuillez consulter le site officiel.
    .on('cocoon:after-insert', function(e, insertedItem) {
      //L'attribut de données est ajouté à l'élément inséré. Quand tu veux passer l'identifiant.Veuillez changer après attr.
      //Exemple).attr('id','index') **Au fait, l'index est une variable, donc tout est OK.
      $(insertedItem).find('.class-a').attr('data-a', index);
      $(insertedItem).find('.class-b').attr('data-b', index);
      $(insertedItem).find('.class-c').attr('data-c', index);
      //J'ajoute un par un ici.
      index = index+1

      //Si vous souhaitez déclencher un événement à l'aide de l'attribut de données donné, vous pouvez l'écrire ici.
      //Cette fois, lorsqu'un changement se produit dans A, c'est un événement pour mettre une valeur basée sur A dans le texte de B et C.
      $('.class-a').on('change',function(e){
      //dataA index(nombre)Devient.
        const dataA = $(this).attr('data-a')
        
        const dataB = $("option:selected", this).data("b");
        const dataC = $("option:selected", this).data("c");
        
        $(`[data-b="${dataA}"]`).text(dataB)
        $(`[data-c="${dataA}"]`).text(dataC)
      })
    })
})

__ ↓ ↓ ↓ C'était une version avec l'explication supprimée parce que c'était difficile à voir parce que l'explication était trop décrite. Si vous pouvez comprendre en regardant simplement le code, cliquez ici __

$(function() {
  //N'oubliez pas la définition d'abord.
  let index = 1;
  $('.onegai')
    .on('cocoon:after-insert', function(e, insertedItem) {
      $(insertedItem).find('.class-a').attr('data-a', index);
      $(insertedItem).find('.class-b').attr('data-b', index);
      $(insertedItem).find('.class-c').attr('data-c', index);
      index = index+1

      $('.class-a').on('change',function(e){
        const dataA = $(this).attr('data-a')
        
        const dataB = $("option:selected", this).data("b");
        const dataC = $("option:selected", this).data("c");
        
        $(`[data-b="${dataA}"]`).text(dataB)
        $(`[data-c="${dataA}"]`).text(dataC)
      })
    })
})

c'est tout.

Recommended Posts

[Rails 6] cocoon_ Ajouter des attributs d'identifiant et de données au formulaire à ajouter
Ajouter des attributs étendus au fichier
[Rails] [Note] Quand ajouter = à <%%> et quand pas
[Rails] Comment créer une table, ajouter une colonne et changer le type de colonne
[Java] [Signature XML] Ajouter un préfixe et un ID à la balise Signature
Comment résoudre le problème lorsque la valeur n'est pas envoyée lorsque le formulaire est désactivé dans les rails et envoyé
Ajouter une icône au lien d'en-tête en utilisant Rails fontawesome
[Rails] Préparez les données factices à utiliser pour les tests [Faker]
Je souhaite créer un formulaire pour sélectionner la catégorie [Rails]
Ajouter une ombre au bouton Swift (et aussi au cercle)
Options pour les rails nouveaux et réglages à effectuer après les rails neufs
Comment exécuter React et Rails sur le même serveur
[Rails] Où faire attention dans la description de la validation
[Docker] Comment sauvegarder et restaurer les données de base de données de l'application Rails sur docker-compose [MySQL]
4 Ajoutez println à l'interpréteur
[Rails] Ajouter une colonne à concevoir
Je souhaite importer les éléments du menu déroulant lors de la soumission d'un formulaire dans Rails en CSV et les afficher à partir des données de la base de données.
[Rails] Comment obtenir l'URL de la source de transition et la rediriger
Tri des données Décroissant, croissant / Rails
[Rails 6] Comment créer un écran de saisie de formulaire dynamique à l'aide de cocoon
[Rails] Comment introduire le kaminari avec Slim et changer le design
Méthode pour additionner le nombre d'années et obtenir la fin du mois
[Rails] Ajoutez un écran de confirmation et un écran de fin pour concevoir l'inscription des membres.
[Rails] Lire le RSS du site et renvoyer le contenu au premier plan
Comment obtenir et ajouter des données depuis Firebase Firestore dans Ruby
Points à retenir et concepts dans le didacticiel Ruby on Rails
[Rails] Je souhaite ajouter des données aux paramètres lors de la transition avec link_to
Comment effacer l'identifiant de processus (PID) qui ne peut pas être effacé! (Gestion de l'inopérabilité avec Vim et Vi)