Recientemente, encontré un problema durante el desarrollo: el cliente solicitó no tener muchas opciones, pero estos elementos solo se pueden seleccionar como máximo 2 elementos. Si se seleccionan más de 2 elementos, no se actualizará y se le indicará al usuario. has seleccionado demasiados y uno de ellos se eliminará aleatoriamente. Busqué muchos artículos en línea pero no pude encontrar ningún ejemplo relevante. Así que me esforcé mucho en escribir uno yo mismo y ahora compartirlo con todos. ¡Soy! Espero que los expertos puedan darme consejos más valiosos.
En realidad, es muy simple. El primer paso es CheckBoxListText.aspx
<HEAD>.
<TITLE>Instancia CheckBoxList</TITLE>
</CABEZA>
<lenguaje SCRIPT="JavaScript">
función SetCheckBoxState(cadena)
{
o = document.getElementsByTagName("ENTRADA")
//o = from1.cbYyjslscly;
var valor=0;
para(i=0;i<o.length;i++)
{
if(o[i].type=="casilla de verificación" && o[i].marcado && o[i].name==str)
{
//alerta(o[i].valor)
valor = valor + 1;
}
si(valor > 2)
{
alert('¡Los elementos que selecciones solo pueden estar dentro de 2!')
o[i].checked=false;
devolver;
}
}
//alerta(valor)
}
</SCRIPT>
</cabeza>
<body MS_POSITIONING="GridLayout">
<form id="Form1" método="post" runat="servidor">
<asp:CheckBoxList id="CheckBoxList1" runat="servidor">
<asp:ListItem Valor="NET">NET</asp:ListItem>
<asp:ListItem Valor="JAVA">JAVA</asp:ListItem>
<asp:ListItem Valor="VB">VB</asp:ListItem>
</asp:CheckBoxList>
</form>
</body>
</html>
checkBoxList1.Attributes.Add("OnClick","SetCheckBoxState('CheckBoxList1');");
en el archivo de administración en segundo plano
y ¡está bien!