Sélectionnez toutes les Cases de CheckBoxList
J'ai un CheckBox
et un CheckBox
liste sur ma page web.
Si le CheckBox
est sélectionné, tous les CheckBoxes
dans le CheckBoxList
doit être sélectionné, et si le CheckBox
n'est pas cochée, de la même façon tous les CheckBoxes
dans le CheckBox
devriez obtenir désactivée (non cochée).
.code aspx
<asp:CheckBoxList ID="CheckBoxList1" runat="server"
RepeatDirection="Horizontal" RepeatLayout="Flow">
<asp:ListItem>Item A</asp:ListItem>
<asp:ListItem>Item B</asp:ListItem>
<asp:ListItem>Item C</asp:ListItem>
<asp:ListItem Selected="True">Item D</asp:ListItem>
<asp:ListItem>Item E</asp:ListItem>
<asp:ListItem>Item F</asp:ListItem>
<asp:ListItem>Item G</asp:ListItem>
</asp:CheckBoxList>
<asp:CheckBox ID="allChkBox" Text="Select all" runat="server"
oncheckedchanged="allChkBox_CheckedChanged" />
J'ai essayé en faisant somehting comme ça, mais il didb pas:
bool prevSelection = false;
protected void allChkBox_CheckedChanged(object sender, EventArgs e)
{
if (!prevSelection)
{
foreach (ListItem chkitem in CheckBoxList1.Items)
{
chkitem.Selected = true;
}
}
else
{
foreach (ListItem chkitem in CheckBoxList1.Items)
{
chkitem.Selected = false;
}
}
prevSelection = !prevSelection;
}
- Pourriez-vous fournir votre code aspx?
- Oo Lwin: Ajout D'
- Ok.. d'autres ont fourni des réponses. Je dirais .. vous devriez le faire dans client javascript et pas besoin de publication.
Vous devez vous connecter pour publier un commentaire.
Je préfère utiliser un script client pour quelque chose comme cela, afin que votre page ne dispose pas de faire une publication
Si c'est une possibilité d'essayer le tir d'une fonction javascript sur cliquez sur pour faire la boucle et de la sélection de ... quelque chose comme
CheckBoxAll
n'ont pas de fonctionnalités côté client qui permet de détecter si leCheckBox
a été désactivée/activée. Peut-il être fait à l'aide d'uncheckbox
je.e si laCheckBoxAll
est cochée, il doit vérifier automatiquement toutes les autres cases à cocher.Il a été un moment depuis que j'ai barboté dans l'ASP.NET mais votre
prevSelection
champ est initialisé àfalse
sur chaque demande. Cette valeur ne sera pas persisté entre les demandes. Donc, vous avez besoin soit de le stocker dans l'État d'Affichage ou le cache et les charger dans votre gestionnaire d'événements, ou, encore mieux, de changer de méthode à quelque chose comme ceci:Au lieu d'utiliser une variable en dehors de la fonction, que diriez-vous à l'aide de la case elle-même:
vous pouvez le faire avec linq comme ce
Comment à ce sujet Si j'ai bien compris l'exigence de droite!)? Cela rendra tous les éléments
selected
dans une CheckBoxList de contrôle par défaut lorsqu'il rend:HTML: