Récemment, j'ai rencontré un problème lors du développement : le client a demandé de ne pas avoir beaucoup d'options, mais ces éléments ne peuvent être sélectionnés qu'au maximum 2 éléments. Si plus de 2 éléments sont sélectionnés, il n'y aura pas d'actualisation et l'utilisateur sera invité à le faire. vous en avez sélectionné trop et l’un d’eux sera supprimé aléatoirement. J'ai recherché de nombreux articles en ligne mais je n'ai trouvé aucun exemple pertinent. J'ai donc pris grand soin d'en écrire un moi-même et de le partager maintenant avec tout le monde. Je suis! J'espère que les experts pourront me donner des conseils plus précieux.
C'est en fait très simple. La première étape est CheckBoxListText.aspx
<HEAD>.
<TITLE>Instance CheckBoxList</TITLE>
</HEAD>
<Langage SCRIPT="JavaScript">
fonction SetCheckBoxState(str)
{
o = document.getElementsByTagName("INPUT")
//o = from1.cbYyjslscly;
varval=0;
pour(i=0;i<o.length;i++)
{
if(o[i].type=="checkbox" && o[i].checked && o[i].name==str)
{
//alerte(o[i].value)
val = val + 1 ;
}
si (val > 2)
{
alert('Les éléments que vous sélectionnez ne peuvent être que dans les 2 !')
o[i].checked=false;
retour;
}
}
//alerte(val)
}
</SCRIPT>
</tête>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:CheckBoxList id="CheckBoxList1" runat="server">
<asp:ListItem Value="NET">NET</asp:ListItem>
<asp:ListItem Value="JAVA">JAVA</asp:ListItem>
<asp:ListItem Value="VB">VB</asp:ListItem>
</asp:CheckBoxList>
</form>
</body>
</html>
checkBoxList1.Attributes.Add("OnClick","SetCheckBoxState('CheckBoxList1');");
dans le fichier de gestion en arrière-plan
et c'est OK !