Wählen Sie Alle Checkboxen im GridView ASP.NET mit JQuery
Ich habe Checkboxen in meinem Gridview templete Spalten namens "Kategorie" und "Kategorie B".
Ich will Wählen-Alle Funktionen, D. H., wenn der Benutzer überprüft die Select-Alle Kontrollkästchen in der Kategorie Eine Spalte, alle Kontrollkästchen muss überprüft werden, unter dieser Spalte. Dasselbe für die Kategorie B.
Ich versuche mit dem code unten. Das problem mit meinem code ist, es wählt alle Kontrollkästchen im gesamten gridview, "Kategorie", sowie "Kategorie B"s Checkboxen.
Aber, ich will nur Markierungsfelder ausgewählt sind, unter der gleichen Spalte.
function SelectAllCheckboxesA(chk) {
$('#<%=gvSurveys.ClientID %>').find("input:checkbox").each(function() {
if (this != chk) {
if ($(this).hasClass('CatA') != false) {
this.checked = chk.checked;
}
}
else {
alert($(this));
}
});
}
<asp:GridView ID="gvSurveys" runat="server" AutoGenerateColumns="false" AllowSorting="True" Width="1500px">
<Columns>
<asp:TemplateField>
<HeaderTemplate>Category A
<asp:CheckBox ID="chkSelectAllCatA" runat="server" Visible="false" onclick="javascript:SelectAllCheckboxesA(this);" CssClass="SACatA" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkCatA" runat="server" Enabled="false" CssClass="CatA" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Category B
<asp:CheckBox ID="chkSelectAllCatB" runat="server" Visible="false" CssClass="CatB" onclick="javascript:SelectAllCheckboxesB(this);" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkCatB" runat="server" Enabled="false" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Für die Liebe des Welpen formatieren Sie den code korrekt (und akzeptieren einige Antworten).
nur 4 anrechnungsfähige Fragen und 16 rep-Punkte. Möchten Sie vielleicht schneiden Sie ihn ein wenig Locker und nur darauf hinweisen, wie das system funktioniert.
und registrierte user für 3 Monate. FAQ ist es für einen Grund.
nur 4 anrechnungsfähige Fragen und 16 rep-Punkte. Möchten Sie vielleicht schneiden Sie ihn ein wenig Locker und nur darauf hinweisen, wie das system funktioniert.
und registrierte user für 3 Monate. FAQ ist es für einen Grund.
InformationsquelleAutor dexter | 2010-05-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese basiert auf Vorschlag von Ashish Patil mit einigen Modifikationen zu deaktivieren das Kontrollkästchen in der Kopfzeile, wenn Sie die entsprechenden Kontrollkästchen im raster von Zeilen deaktiviert ist.
In GridView erstellen Sie eine template-Spalte:
jquery script, legen Sie Sie in $(document).bereit, zum Beispiel:
InformationsquelleAutor Califf
Warum nicht markieren Sie nur die Kontrollkästchen der CategoryA:
Wäre, dass die Arbeit?
CatA
Klasse zu den Checkboxen, ein class-Selektor würde auch funktionieren (und Aussehen einfacher ist).Nein, das hat nicht geholfen. Ich habe versucht, spezifisch auf die "input:checkbox[Id*=chkCatA]".
InformationsquelleAutor PeterFromCologne
Ändern Sie die selectAll Kontrollkästchen, um die gleiche Klasse. Extrahieren Sie dann die Klasse aus dem Kontrollkästchen und verwenden Sie es als Teil des Selektors, die heraus filtern, die Sie auswählen. Das vereinfacht vieles, da Sie wissen, dass alle die abgestimmt Eingängen wird einfach brauchen, um den checked-Wert aus dem parameter.
Dann hast du etwas falsch in deinem code. Wenn die Kontrollkästchen in der Kopfzeile haben verschiedene Klassen (von einander), und diejenigen Klassen, die mit denjenigen übereinstimmen, die in der Spalte, sollte das funktionieren. Der Selektor ist spezifisch für die Klasse und wird nicht aktivieren Sie alle Kontrollkästchen, die haben nicht diese Klasse.
InformationsquelleAutor tvanfosson
InformationsquelleAutor Aravind
Erstellen Sie die Zeile mit einer checkbox in der Kopfzeile:
Im CodeBehind hinzufügen, die OnCheckChanged event-handler auswählen oder alle abwählen :
InformationsquelleAutor Neha Verma