Dans un masterpage J'ai un DataGrid standard:Checkbox en-tête Datagrid ClientID (JQuery)
<asp:DataGrid ID="dgMyGrid" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateColumn>
<HeaderTemplate>
<asp:CheckBox CssClass="Checker" ID="cbSelectAll" runat="server" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="cbSelect" runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
Demandez le jQuery suivant qui fait la case à cocher en-tête tout sélectionner:
$(document).ready(function() {
$("#ctl00_ContentPlaceHolder1_dgMyGrid_ctl01_cbSelectAll").click(function() {
$("#<%=dgID %> :checkbox").each(function(i)
{
this.checked = $("#ctl00_ContentPlaceHolder1_dgMyGrid_ctl01_cbSelectAll").is(":checked")
});
});
});
cela fonctionne, mais c'est un peu moche - je ne peux pas obtenir l'ID de client pour la case à cocher avec
<% = cbSelectAll.ClientID%> (comme je l'ai fait pour la grille de données) Probablement parce que le javascript est rendu avant ce contrôle. Y a-t-il un moyen plus élégant pour moi d'obtenir le clientID de ma case à cocher hors de la grille de données? Je pense que ce serait mieux si je n'ai pas hardcode le clientID comme ça. Toutes mes excuses si la réponse à cette question est évidente, c'est ma première journée à essayer jQuery! :)
Merci pour cela, c'est la solution que j'ai fini par utiliser. Cela dit, j'aimerais voir une solution pour cela dans jQuery Alone, mais je vais marquer cela comme la réponse s'il n'y a pas d'autres réponses. – RYFN