Bonjour,

Dans un formulaire d'encodage de prix, de nouveaux prix peuvent être ajoutés à la demande via un bouton :

Dans mon template :

Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
    <ul class= "prices" data-prototype= " {{ form_widget ( formPricesAdvert.prices.vars.prototype )| e ( 'html_attr' ) }} " >
 
        {% for season in unique_seasons %}
 
            {% set i = 0 %}
 
            <h4>Saison {{ season.season }}</h4>
 
            <div id= "divSeason_{{ idsSeasons[i] }}">
 
                {% for price in formPricesAdvert.prices %}                
 
                    {% if idsSeasons[i] == season.id %}
 
                        <li>
                            {{ form_label(price.price, 'Prix', {'label_attr': {'class': 'foo'}}) }}
                            {{ form_errors(price.price) }}
                            {{ form_widget(price.price) }}
 
                            {{ form_label(price.duration, 'Durée', {'label_attr': {'class': 'foo'}}) }}
                            {{ form_errors(price.duration) }}
                            {{ form_widget(price.duration) }}
 
                            {{ form_label(price.season, 'Saison', {'label_attr': {'class': 'foo'}}) }}
                            {{ form_errors(price.season) }}
                            {{ form_widget(price.season) }}
 
                            <button type="button" class="btn-remove">
                                Supprimer cette durée
                            </button>
                        </li>
 
                    {% endif %}
 
                    {% set i = i + 1 %}
 
                {% endfor %}
 
                <button type="button" class="btn-add">
                    Ajouter durée
                </button>
 
            </div>
 
        {% endfor %}
 
    </ul>

Dans mon fichier js :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
$('.btn-add') . on ( 'click' , function ( e ) {
Je crée les différents éléments repris dans le data-prototype de mon template
});
Tout se passe correctement pour la création. Cependant, lors de celle-ci, je voudrais attribuer une valeur à mon select {{ form_widget(price.season) }}. Et là, malgré mes nombreuses recherches, je sèche car je ne parviens pas à accéder aux différents éléments (dont ce select) qui viennent d'être créés.

Quelqu'un aurait une piste?

Merci d'avance pour votre aide.