web-dev-qa-db-fra.com

Formulaires Gravity - jQuery dans le champ de liste

Je travaille sur ce jQuery qui finira par renseigner les champs du champ Parent (Entités) vers les champs Enfants (Description, adresse, etc.) dans un champ de liste. J'ai pu obtenir les champs à remplir dans une certaine colonne, mais lorsque je change le parent de la première ligne, cela modifie le champ des enfants dans toutes les lignes.

Vous pouvez voir une idée de ce sur quoi je travaille ici: https://goadrifttravel.com/00-test/

C'est aussi le code que j'ai utilisé avec:

jQuery(document).ready(function($) {
// START Place Jquery in here
    $( "select" ).change(function() {
    $(this).parent().click(function() {
  var str = "";
$( "td.gfield_list_1_cell4 option:selected" ).each(function() {
  str += $( this ).text() + " ";
});
$( "td.gfield_list_1_cell5 input" ).val( str );
})
.trigger( "change" );
}); 
});

Avez-vous des idées sur la manière de cibler une ligne jQuery à la fois dans le champ de liste? J'ai essayé la fonction each (), mais jusqu'à présent, pas de chance.

1
Parkbum

Résolu!!! C'était dur. La découverte () a certainement aidé! L'assistance Gravity Forms m'a aidée, mais c'est vraiment un essai et une erreur, et une bonne nuit de sommeil ... Voici la réponse au cas où quelqu'un serait intéressé:

jQuery(document).ready(function($) {
    $("tr").live("change", function popstuff() {
        var str = "";
        $("td.gfield_list_1_cell4 select option:selected").each(function() {
            str = $( this ).text();
            $(this).closest("tr").find(".gfield_list_1_cell5 input").val( str );
        });
    })

    .trigger( "click" );
gform.addAction( 'gform_list_post_item_add', function ( item, container ) {
    popstuff();             
} );
});
0
Parkbum

Je ne sais pas exactement ce que vous essayez de faire, votre message n’est pas très clair. Mais de ce que je peux comprendre, vous devez être plus spécifique avec vos sélecteurs.

Par exemple: $ ("td.gfield_list_1_cell5 input"). Cela sélectionnera plusieurs lignes car chaque ligne a un td.gfield_list_1_cell5 avec une entrée.

Vous pourriez faire quelque chose comme ...

$(this).parent().find('.td.gfield_list_1_cell5 input').val( str );
0
RiddleMeThis