Buenas a todos. He descubierto que el atributo exclude_all_others que se setea en las preguntas del tipo opción múltiple, no anda como debiera, en el caso que en la encuesta, a nivel página haya más de una ocurrencia de dicho tipo de preguntas.
El problema es que el script (qanda.php) genera como código javascript de salida una función de exclusión (desmarca las opciones excluyentes) para cada pregunta, pero siempre CON EL MISMO NOMBRE. Eso hace que al tildar cualquier respuesta excluyente, siempre ejecute la función de exclusión de la última pregunta.
La solución que encontré (quizás no demasiado elegante, pero si efectiva y rápida) es modificar las siguientes lineas del script qanda.php, cosa de que para cada pregunta con opciones excluyentes, la función de exclusión lleve el nombre del item en formato IDEncuestaXIdGrupoXIDPregunta.
A saber se modifican las líneas 1540 y 1613
| Code: |
function excludeAllOthers(value)
|
| Code: |
$answer .= "excludeAllOthers(this.id);";
|
Por la siguientes líneas
| Code: |
function excludeAllOthers".$ia[1]."(value)
|
| Code: |
$answer .= "excludeAllOthers".$ia[1]."(this.id);";
|
Saludos
EDIT: Limesurvey 1.71 Build 5001