Gridview + case à cocher et selectAll en jquery
Bonjour,
j'ai un gridview qui comporte des cases à cocher et une entête de colonne permettant de cocher toutes les cases de mon gridview.
Malheureusement, je n'arrive pas à faire fonctionner comme il faut mon script en jquery et je vous sollicite pour m'aider à trouver mon problème.
Voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
<asp:GridView ID="gvResultat" runat="server" AutoGenerateColumns="False" DataSourceID="odsResultat"
DataKeyNames="ID" AllowPaging="true">
<EmptyDataTemplate>
<p style="font-style: italic">
Aucune ligne.</p>
</EmptyDataTemplate>
<Columns>
<asp:TemplateField ShowHeader="False">
<HeaderTemplate>
<input type='checkbox' id='checkAllResultat' onclick="CheckAll('checkAllResultat','checkResultat')" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="cbResultat" runat="server" CssClass="checkResultat" onclick="CheckDetail('checkAllResultat','checkResultat')" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID" />
... |
Voici mon jquery déposer un peu plus haut dans ma page
Code:
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
|
<script type="text/javascript">
function CheckAll(name, child) {
var ischecked = false;
if ($('#' + name).attr('checked'))
ischecked = true;
$('.' + child + ' :checkbox').each(function (i) {
!$(this).attr('checked', ischecked);
});
$('#' + name).removeClass('ui-state-disabled');
}
function CheckDetail(name, child) {
var ischecked = false;
if ($('#' + name).attr('checked'))
ischecked = true;
$('#' + name).removeClass('ui-state-disabled');
$('.' + child + ' :checkbox').each(function (i) {
var checked = false;
if ($(this).attr('checked')) {
checked = true;
}
if (ischecked != checked) {
$('#' + name).addClass('ui-state-disabled');
return;
}
});
}
</script> |
Il arrive seulement à me décocher mes cases mais pas à les recocher quand je clic sur l'entete.
Merci d'avance pour votre aide