es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Después de seleccionar 2 casillas de verificación, elegí deshabilitar el resto.

Soy un traductor español que traduce documentos de TI. Traduce lo siguiente al español. No traduzcas el código y la salida en markdown.

Soy nuevo en asp.net…
Tengo una lista de selección con 6 casillas de verificación.
Cuando se seleccionan 2 casillas de verificación, quiero que las demás estén desactivadas y, si se desmarca 1, quiero que todas vuelvan a estar activadas.

Este es mi código en aspx:








Por favor ayúdeme.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para lograr el comportamiento deseado en la lista de casillas de verificación, se puede utilizar código JavaScript/jQuery. Aquí está el código que se puede agregar a la sección head de su página aspx:

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script>
        $(document).ready(function () {
            $('#<%=CheckBoxList1.ClientID%> input[type="checkbox"]').click(function () {
                var checkedCount = $('#<%=CheckBoxList1.ClientID%> input[type="checkbox"]:checked').length;
                if (checkedCount >= 2) {
                    // deshabilita todas las casillas de verificación excepto las marcadas
                    $('#<%=CheckBoxList1.ClientID%> input[type="checkbox"]:not(:checked)').prop('disabled', true);
                } else {
                    // habilita todas las casillas de verificación
                    $('#<%=CheckBoxList1.ClientID%> input[type="checkbox"]').prop('disabled', false);
                }
            });
        });
    </script>
    

    Explicación:
    * La primera línea carga la biblioteca jQuery desde una CDN (Red de distribución de contenido).
    * La segunda línea envuelve el código dentro del evento “ready”, que se ejecuta cuando se carga la página.
    * La tercera línea selecciona todas las casillas de verificación de entrada dentro de la lista y les adjunta un controlador de eventos de clic.
    * La cuarta línea cuenta cuántas casillas de verificación están marcadas actualmente.
    * Si dos o más casillas de verificación están marcadas, la quinta línea desactiva todas las casillas de verificación excepto las marcadas usando el método “prop” con un parámetro “disabled” establecido en verdadero.
    * Si hay menos de dos casillas de verificación marcadas, la séptima línea habilita todas las casillas de verificación utilizando el mismo método “prop” con un parámetro “disabled” establecido en falso.
    * La sintaxis “<%=CheckBoxList1.ClientID%>” se utiliza para obtener la ID real del control de lista de casillas de verificación en el HTML renderizado, porque ASP.NET genera IDs dinámicos para evitar colisiones de IDs.

Comments are closed.