Bonjour tout le monde,

J'essaye d'impl�menter dans mon application web un accord�ons avec les langages HTML, CSS et JS.
Je suis d�butant en JS donc c'est pas �vident pour moi de faire marcher cet �l�ment.

Voici mon code HTML :

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
48
49
50
51
52
53
54
55
56
<div class="col-md-12">
      <h3> {% trans "Available publications" %} </h3>
      <hr>
 
      {% for category in category_list %}
        <div class="panel-group accordion" id="accordion_{{ category }}" role="tablist" aria-multiselectable="true">
          <div class="panel panel-default">
            <div class="panel-heading" role="tab">
              <h4 class="panel-title">
                <a data-toggle="collapse" data-parent="#accordion_{{ category }}"
                   href="#collapseOne_{{ category }}" aria-expanded="true" aria-controls="collapseOne">
                  <i class="more-less glyphicon glyphicon-plus"></i>
                  {{ category }}
                </a>
              </h4>
            </div>
            {% for publication in category.publication.all %}
              <div id="collapseOne_{{ category }}" class="panel-collapse collapse" role="tabpanel"
                   aria-labelledby="#accordion_{{ category }}">
                <div class="panel-body">
                  {{ publication }}
                  {% for document in publication.documents.all %}
                    <table class="table table-condensed">
                      <tbody>
                      <tr>
                        <td class="col-md-1">
                          <input type="checkbox" class="fakeRadio" name="DocumentChoice" value="{{ document.id }}"></td>
                        <td class="col-md-1">
                          {% if document.format == 'pdf' %}
                            <span class="badge alert-danger">{{ document.format }}</span>
                          {% endif %}
                          {% if document.format == 'epub' %}
                            <span class="badge alert-info">{{ document.format }}</span>
                          {% endif %}
                        </td>
                        <td class="col-md-1"> {{ document.language }}</td>
                        <td class="col-md-1"> {{ document.title }}</td>
                        <td class="col-md-1">
                          {% if document.publication.new_publication == True %}
                            <span class="glyphicon glyphicon-flag"></span>
                          {% else %}
                            <span></span>
                          {% endif %}
                        </td>
                      </tr>
                      </tbody>
                    </table>
                  {% endfor %}
                </div>
              </div>
            {% endfor %}
          </div>
        </div>
      {% endfor %}
 
    </div>

Et voici mon code JS :

Code : 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
<script>
    var acc = document.getElementById("accordion_{{ category }}");
    var panel = document.getElementById('panel');
 
    for (var i = 0; i < acc.length; i++) {
        acc[i].onclick = function() {
            var setClasses = !this.classList.contains('active');
            setClass(acc, 'active', 'remove');
            setClass(panel, 'show', 'remove');
 
            if (setClasses) {
                this.classList.toggle("active");
                this.nextElementSibling.classList.toggle("show");
            }
        }
    }
 
    function setClass(els, className, fnName) {
        for (var i = 0; i < els.length; i++) {
            els[i].classList[fnName](className);
        }
    }
    </script>
Le but �tant de pouvoir ouvrir plusieurs onglets dans l'accord�on en m�me temps.
Pour l'instant je n'arrive pas � ouvrir ne serait-ce qu'un onglet.

Merci de votre aide