Bonjour,

J'ai un souci pour "tout cocher/tout décocher" des checkbox dans un repeater.

J'ai le code ASP suivant :
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
 
<asp:Repeater ID="rptMarche" runat="server">
    <HeaderTemplate>
          <tr class="BandeauCible">
                <td align="right">Tous</td>
                <td><nc:NewCheckBox ID="chkTravailleTous" runat="server" Style="float: left;" onclick="javascript:CheckAll(this.id, '<%=rptMarche.ClientID%>')" /></td>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
          </tr>
    </HeaderTemplate>
    <ItemTemplate>
          <tr id="trDomaineMarche" runat="server">
                <td><asp:Label runat="server" ID="lblLibelle" /></td>
                <td><nc:NewCheckBox ID="chkTravaille" runat="server" /></td>
                <td><nc:NewDropDownList runat="server" ID="ddlFournisseur" Width="200px" DataTextField="LibelleFournisseur" DataValueField="CodeFournisseur"></nc:NewDropDownList></td>
                <td style="padding-left: 30px;"><nc:NewCheckBox ID="chkDeveloppement" runat="server" /></td>
          </tr>
     </ItemTemplate>
</asp:Repeater>
Et mon Javascript :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
function CheckAll(chk_id, conteneur_id) {
    isChecked = document.getElementById(chk_id).checked;
 
    var chk_field = document.getElementById(conteneur_id).firstChild;
    alert(chk_field)
    while (chk_field != null) {
        if (chk_field.nodeName == "INPUT")
            if (chk_field.getAttribute("type") == "checkbox") {
                document.getElementById(chk_field.getAttribute("id")).checked = isChecked;
        }
        chk_field = chk_field.nextSibling;
    }
}
Mon repeater est rempli via le code behind.

Le but est de cocher les 'chkTravaille' quand je clique sur la case à cocher 'chkTravailleTous'

Mon problème c'est que quand je clique sur "Tous", j'ai une erreur javascript.

Pouvez-vous m'aider ?
Cordialement.