¿Cómo limitar el número de respuestas a las preguntas de selección múltiple?
En determinadas situaciones puede interesarnos restringir el número de respuestas que se pueden dar en una pregunta de respuesta múltiple.
A priori esta opción es similar a la opción All-or-Nothing Multiple Choice Question, pero no es exactamente lo mismo. Las respuestas all or nothing funcionan de forma que, si el alumno marca cualquier opción incorrecta, la calificación es cero.
Sin embargo, de la misma forma que las preguntas de opción múltiple, estas tampoco permiten limitar el número de respuestas.
Entonces, ¿cómo podemos hacerlo?
Por defecto, Moodle no permite realizar este cambio; por tanto, deberemos insertar un pequeño código Javascript en el texto de la pregunta que hará esta función. Para ello, es necesario seguir los siguientes pasos:
- Vamos al banco de preguntas:
- Creamos una pregunta nueva:
- Tipo opción múltiple:
- Añadiremos el nombre de la pregunta y en el editor haremos clic en el icono </> para poder introducir el código Javascript:
El codigo en cuestión es el seguinte:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script> $(document).ready(function() { let $total = 0; $("div.answer input[type=checkbox]").each(function(){ $(this).on('click', function(event) { if (!$(this).is(":checked")) { $total = $total - 1; } else if ($total <= 2) { $total = $total + 1 ; } else { event.preventDefault(); event.stopPropagation(); } }); }); }); </script>
La línea que nos permite controlar el número de respuestas posible es:
} else if ($total <= 2) {
En este ejemplo, el número máximo de selecciones que el alumno podría realizar sería 3, es decir siempre una más que el número que insertamos en la línea:
Una vez insertado el código, volvemos a clicar en el botón </> e introduciremos el texto de la pregunta con normalidad, las posibles respuestas y la calificación de cada una de ellas.
Como vemos en esta imagen, el alumno sólo podría seleccionar un máximo de tres respuestas: