- Posts: 12790
- Thank you received: 3940
Welcome to the LimeSurvey Community Forum
Ask the community, share ideas, and connect with other LimeSurvey users!
Matriz campo de texto y desplegables por filas excluyentes.
- Joffm
- Offline
- LimeSurvey Community Team
Less
More
1 year 7 months ago #230778
by Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Replied by Joffm on topic Matriz campo de texto y desplegables por filas excluyentes.
Hola,
1. Considere siempre: lo que debe ser verdad.
SQ010 está vacío y cuenta = 9 O SQ010 no está vacío y cuenta = 10.
Asi que
(is_empty(self.sq_SQ010) and count(self)==9) or (!is_empty(self.sq_SQ010) and count(self)==10)
Por supuesto, la pregunta no debe ser obligatoria.
Esto se aplica mediante la validación.
Sin embargo, creo que esta pregunta sobre los "otros" no tiene sentido.
a. ¿De qué sirve si UNA persona responde "Siempre lleva una camisa amarilla" con una puntuación de 5 y OTRA "Siempre limpia sus zapatos" con una puntuación de 7?
No tiene valor estadístico.
b. Las personas no ingresarán nada con un valor bajo.
Siempre habrá cosas que son importantes.
Por lo tanto, no puede comparar estos valores medios con los otros (predefinidos).
Por estas razones, es más apropiado hacer una pregunta de texto abierta: "¿Hay otros aspectos que son importantes para usted?"
2. ¿Por qué siempre esta preselección innecesaria con Sí/No?
Una matriz(numeros) de 0-10 es suficiente.
O, para que sea más fácil para el encuestado, una matriz
O, multiple textos cortos con menú desplegable
Pero si insistes en tu solución:
Debe establecer un valor si el campo está "disabled".
Para el análisis, debe recodificar los campos que están vacíos a "0".
Esta es la única forma en que puede calcular un valor medio significativo.
Esta es otra razón por la idea de "Sí/No" no es la mejor.
En mi opinión, hay muchas mejores soluciones.
1. Considere siempre: lo que debe ser verdad.
SQ010 está vacío y cuenta = 9 O SQ010 no está vacío y cuenta = 10.
Asi que
(is_empty(self.sq_SQ010) and count(self)==9) or (!is_empty(self.sq_SQ010) and count(self)==10)
Por supuesto, la pregunta no debe ser obligatoria.
Esto se aplica mediante la validación.
Sin embargo, creo que esta pregunta sobre los "otros" no tiene sentido.
a. ¿De qué sirve si UNA persona responde "Siempre lleva una camisa amarilla" con una puntuación de 5 y OTRA "Siempre limpia sus zapatos" con una puntuación de 7?
No tiene valor estadístico.
b. Las personas no ingresarán nada con un valor bajo.
Siempre habrá cosas que son importantes.
Por lo tanto, no puede comparar estos valores medios con los otros (predefinidos).
Por estas razones, es más apropiado hacer una pregunta de texto abierta: "¿Hay otros aspectos que son importantes para usted?"
2. ¿Por qué siempre esta preselección innecesaria con Sí/No?
Una matriz(numeros) de 0-10 es suficiente.
O, para que sea más fácil para el encuestado, una matriz
O, multiple textos cortos con menú desplegable
Pero si insistes en tu solución:
Debe establecer un valor si el campo está "disabled".
Code:
function handleColumnX002(thisSelect) { var thisRow = $(thisSelect).closest('tr.subquestion-list'); var item2 = $('.answer_cell_X002', thisRow); if($(thisSelect).val() == '1') { $('.inserted-select', item2).prop('disabled', false); } else { $('.inserted-select', item2).val('0').prop('disabled', true); $('input:text', item2).val('0').trigger('change'); } }
Para el análisis, debe recodificar los campos que están vacíos a "0".
Esta es la única forma en que puede calcular un valor medio significativo.
Esta es otra razón por la idea de "Sí/No" no es la mejor.
En mi opinión, hay muchas mejores soluciones.
Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: frnchu
Please Log in to join the conversation.
- frnchu
- Topic Author
- Offline
- New Member
Less
More
- Posts: 13
- Thank you received: 0
1 year 7 months ago #230780
by frnchu
Replied by frnchu on topic Matriz campo de texto y desplegables por filas excluyentes.
1) Entendido, uso esa expresión para validar la pregunta. Sin embargo, el cuadro de texto no se me muestra en la última opción, sino como una pregunta siguiente. ¿A qué se debe esto? En el LSS anterior se puede ver.
2) Totalmente cierto, esa opción de pregunta, matriz numérica, me gusta mucho más. Más sencillo, más práctico.
Ahora, ¿cómo puedo saltar a una pregunta X si todas las opciones de respuesta son 0? Si no ha tenido ningún tipo de relación (de las 4 posibles relaciones que hay, indicando 0 en todas) que se salte a la pregunta, por ejemplo, número 20, no consecutiva.
Gracias, otra vez.
2) Totalmente cierto, esa opción de pregunta, matriz numérica, me gusta mucho más. Más sencillo, más práctico.
Ahora, ¿cómo puedo saltar a una pregunta X si todas las opciones de respuesta son 0? Si no ha tenido ningún tipo de relación (de las 4 posibles relaciones que hay, indicando 0 en todas) que se salte a la pregunta, por ejemplo, número 20, no consecutiva.
Gracias, otra vez.
Please Log in to join the conversation.
- holch
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 11758
- Thank you received: 2753
1 year 7 months ago #230785
by holch
I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.
Replied by holch on topic Matriz campo de texto y desplegables por filas excluyentes.
No existen "saltos" en Limesurvey. Tienes que "esconder" (via "relevance equation") cada pregunta entre la actual y la pregunta a donde quieres "saltar".
I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.
Please Log in to join the conversation.
- frnchu
- Topic Author
- Offline
- New Member
Less
More
- Posts: 13
- Thank you received: 0
1 year 7 months ago #230823
by frnchu
Replied by frnchu on topic Matriz campo de texto y desplegables por filas excluyentes.
Claro, pero ¿cuál sería la ecuación relevante? Entiendo que debe ser algo así como (en pseudocódigo)
Si pareja no es igual a 0 y rollete no es igual a 0 y poliamorosa no es igual a 0 y abierta no es igual a 0.
Pero no logro afinar con la sintaxis correcta.
Por otro lado, sigo con el problema 1), el campo Otros no se muestra en la pregunta matriz, se muestra en una siguiente pregunta como texto corto.
Gracias.
Si pareja no es igual a 0 y rollete no es igual a 0 y poliamorosa no es igual a 0 y abierta no es igual a 0.
Pero no logro afinar con la sintaxis correcta.
Por otro lado, sigo con el problema 1), el campo Otros no se muestra en la pregunta matriz, se muestra en una siguiente pregunta como texto corto.
Gracias.
Please Log in to join the conversation.
- Joffm
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 12790
- Thank you received: 3940
1 year 7 months ago #230832
by Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Replied by Joffm on topic Matriz campo de texto y desplegables por filas excluyentes.
Lee el manual por las funnctionas implementadas.
[url] manual.limesurvey.org/ExpressionScript_-...mplemented_functions [/url]
Puedes usar por ejemplo "countif("a",x,y,z,...)"
La condición para ver el texto corto es:
"el numero de las repuestas "0" de la matriz es >0": countif("0",that.CodigoMatriz)>0
o
"el numero de las repuestas ">0" de la matriz es <4": countifop(">","0",that.CodigoMatriz)<4
o
con codigos numericos de la matriz
sum(that.CodigoMatriz)>0
2. Que tiene que estar VERDAD para ver el texto corto?
subpregunta no vasia y subpregunta > 0
Manda la ultima lss.
Joffm
[url] manual.limesurvey.org/ExpressionScript_-...mplemented_functions [/url]
Puedes usar por ejemplo "countif("a",x,y,z,...)"
La condición para ver el texto corto es:
"el numero de las repuestas "0" de la matriz es >0": countif("0",that.CodigoMatriz)>0
o
"el numero de las repuestas ">0" de la matriz es <4": countifop(">","0",that.CodigoMatriz)<4
o
con codigos numericos de la matriz
sum(that.CodigoMatriz)>0
2. Que tiene que estar VERDAD para ver el texto corto?
subpregunta no vasia y subpregunta > 0
Manda la ultima lss.
Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: frnchu
Please Log in to join the conversation.
- frnchu
- Topic Author
- Offline
- New Member
Less
More
- Posts: 13
- Thank you received: 0
1 year 7 months ago - 1 year 7 months ago #230917
by frnchu
Replied by frnchu on topic Matriz campo de texto y desplegables por filas excluyentes.
Buenas de nuevo, ya estoy aquí (perdón por el retraso pero hay mucho trabajo acumulado). Creo que no nos hemos entendido bien la última vez, así que intento explicarlo de forma más clara ahora.
P1) Q001 Pregunta obligatoria por medio de ecuación de validación de pregunta, porque necesito que se rellenen todas las subpreguntas excepto la última "Otros", que es opcional. He añadido esta sintaxis como me decías:
En la subpregunta "Otros" no aparece el campo de texto añadido mediante javascript. No aparece dentro de la celda "Otros" cuando la opción de visualización es "pregunta por pregunta", sino como una pregunta siguiente Q002 (mirar LSS). Sí se visualiza bien en "por secciones" o "todos en uno".
P2) Para la pregunta Q003, necesito que si las 4 subpreguntas son = 0, todas, saltar a Q005 mediante ecuación relevante.
¿Tengo que poner en Q004 una sintaxis así? Si quiero saltarme, por ejemplo 10 preguntas, tendré que poner esa misma ecuación en cada una de ellas, ¿cierto?
Creo que eso es todo. Espero haberme explicado mejor ahora. Mil gracias de nuevo Joffm.
P1) Q001 Pregunta obligatoria por medio de ecuación de validación de pregunta, porque necesito que se rellenen todas las subpreguntas excepto la última "Otros", que es opcional. He añadido esta sintaxis como me decías:
En la subpregunta "Otros" no aparece el campo de texto añadido mediante javascript. No aparece dentro de la celda "Otros" cuando la opción de visualización es "pregunta por pregunta", sino como una pregunta siguiente Q002 (mirar LSS). Sí se visualiza bien en "por secciones" o "todos en uno".
P2) Para la pregunta Q003, necesito que si las 4 subpreguntas son = 0, todas, saltar a Q005 mediante ecuación relevante.
¿Tengo que poner en Q004 una sintaxis así? Si quiero saltarme, por ejemplo 10 preguntas, tendré que poner esa misma ecuación en cada una de ellas, ¿cierto?
Code:
countif("0", Q003_Y001_X001, Q003_Y002_X001, Q003_Y003_X001, Q003_Y004_X001) == 4
Creo que eso es todo. Espero haberme explicado mejor ahora. Mil gracias de nuevo Joffm.
Last edit: 1 year 7 months ago by frnchu.
Please Log in to join the conversation.
- Joffm
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 12790
- Thank you received: 3940
1 year 7 months ago #230946
by Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Replied by Joffm on topic Matriz campo de texto y desplegables por filas excluyentes.
Hola,
javascript trabaja en la computadora del respondente. No puede mover una pregunta que no está en la misma pagina (y en la pantalla)
Pero en tu pregunta Q0003 no hay un codigo "0".
Es porque no ingresaste nada aquí.
Ahora se utilizan los valores predeterminados.
Por favor, ingresa tus valores.
Pero, para hablar la verdad, a mi no me gusta esta forma de mostrar la pregunta.
Un campo muy, muy largo para un solo numero.
Ejemplo:
Varias textos cortos
Pero todavia los respondentes tienen que clic con el mouse dos veces para cada valor. Porque?
Porque no pueden entrar un numero?
Joffm
Por supuesto. Son dos preguntas.No aparece dentro de la celda "Otros" cuando la opción de visualización es "pregunta por pregunta", sino como una pregunta siguiente Q002 (mirar LSS). Sí se visualiza bien en "por secciones" o "todos en uno".
javascript trabaja en la computadora del respondente. No puede mover una pregunta que no está en la misma pagina (y en la pantalla)
countif("0",that.Q003)==4 es suficiente.countif("0", Q003_Y001_X001, Q003_Y002_X001, Q003_Y003_X001, Q003_Y004_X001) == 4
Pero en tu pregunta Q0003 no hay un codigo "0".
Es porque no ingresaste nada aquí.
Ahora se utilizan los valores predeterminados.
Por favor, ingresa tus valores.
Pero, para hablar la verdad, a mi no me gusta esta forma de mostrar la pregunta.
Un campo muy, muy largo para un solo numero.
Ejemplo:
Varias textos cortos
Code:
<script type="text/javascript" charset="utf-8"> $(document).on('ready pjax:complete',function() { var qID = {QID}; var inputNum = 0; // Define the select element (dropdown) var prov1 = '<select id="prov1" class="form-control">\ <option value="">...</option>\ <option value="0">0</option>\ <option value="1">1</option>\ <option value="2">2</option>\ <option value="3">3</option>\ <option value="4">4</option>\ <option value="5">5</option>\ <option value="6">6</option>\ <option value="7">7</option>\ <option value="8">8</option>\ <option value="9">9</option>\ <option value="10">10 y mas</option>\ </select>'; // Hide the text input $('#question'+qID+' .question-item:eq('+(inputNum)+') input[type="text"]').hide(); $('#question'+qID+' .question-item:eq('+(inputNum+1)+') input[type="text"]').hide(); $('#question'+qID+' .question-item:eq('+(inputNum+2)+') input[type="text"]').hide(); $('#question'+qID+' .question-item:eq('+(inputNum+3)+') input[type="text"]').hide(); // Insert the select elements if($('#question'+qID+' .question-item:eq('+(inputNum)+') select').length == 0) { $('#question'+qID+' .question-item:eq('+(inputNum)+') input[type="text"]').before(prov1); } if($('#question'+qID+' .question-item:eq('+(inputNum+1)+') select').length == 0) { $('#question'+qID+' .question-item:eq('+(inputNum+1)+') input[type="text"]').before(prov1); } if($('#question'+qID+' .question-item:eq('+(inputNum+2)+') select').length == 0) { $('#question'+qID+' .question-item:eq('+(inputNum+2)+') input[type="text"]').before(prov1); } if($('#question'+qID+' .question-item:eq('+(inputNum+3)+') select').length == 0) { $('#question'+qID+' .question-item:eq('+(inputNum+3)+') input[type="text"]').before(prov1); } // Initially select an option if the question has already been answered $('#question'+qID+' select').each(function(i) { if($.trim($(this).next('input[type="text"]').val()) != '') { $(this).val($.trim($(this).next('input[type="text"]').val())); } }); // Listener on the dropdowns - insert selected values into hidden text input $('#question'+qID+' select').change(function() { var thisInput = $(this).next('input[type="text"]'); $(thisInput).val($(this).val()); checkconditions($(thisInput).attr('value'), $(thisInput).attr('name'), 'text'); }); // Some styles $('#question'+qID+' select').css({ 'margin':'0.3em 0 0 0' }); }); </script>
Pero todavia los respondentes tienen que clic con el mouse dos veces para cada valor. Porque?
Porque no pueden entrar un numero?
Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: frnchu
Please Log in to join the conversation.
- frnchu
- Topic Author
- Offline
- New Member
Less
More
- Posts: 13
- Thank you received: 0
1 year 7 months ago #231006
by frnchu
Replied by frnchu on topic Matriz campo de texto y desplegables por filas excluyentes.
Okey Joffm. Todas tus indicaciones y recomendaciones introducidas. Ya funciona todo como debería. De nuevo, mil gracias y puede darse por resuelta la consulta.
Saludos.
Saludos.
Please Log in to join the conversation.