Kürzlich bin ich während der Entwicklung auf ein Problem gestoßen, dass der Kunde nicht viele Optionen haben wollte, diese Elemente jedoch nur maximal 2 Elemente auswählen können. Wenn mehr als 2 Elemente ausgewählt sind, erfolgt keine Aktualisierung und der Benutzer wird dazu aufgefordert Sie haben zu viele ausgewählt und einer davon wird zufällig gelöscht. Ich habe viele Artikel online durchsucht, konnte aber keine relevanten Beispiele finden. Deshalb habe ich mir große Mühe gegeben, selbst eines zu schreiben und es nun mit allen zu teilen. Ich bin! Ich hoffe, Experten können mir weitere wertvolle Ratschläge geben.
Der erste Schritt ist CheckBoxListText.aspx
<HEAD>
<TITLE>CheckBoxList-Instanz</TITLE>
</HEAD>
<SCRIPT language="JavaScript">
Funktion SetCheckBoxState(str)
{
o = document.getElementsByTagName("INPUT")
//o = from1.cbYyjslscly;
var val=0;
for(i=0;i<o.length;i++)
{
if(o[i].type=="checkbox" && o[i].checked && o[i].name==str)
{
//alert(o[i].value)
Wert = Wert + 1;
}
if(val > 2)
{
Alert('Die von Ihnen ausgewählten Elemente dürfen nur innerhalb von 2 sein!')
o[i].checked=false;
zurückkehren;
}
}
//alert(val)
}
</SCRIPT>
</head>
<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');");
in der Hintergrundverwaltungsdatei
und es ist OK!