2012-10-05 13 views
7

Tengo una aplicación jsFiddle a continuación:que reemplaza una entrada de texto cuando hay varios botones de letras se seleccionan

JSFIDDLE

Si abre la jsFiddle, verá un control superior que contiene los botones de "respuesta". También verá algunos botones de letras, un botón "Verdadero" y un botón "Falso".

Los botones "Verdadero" y "Falso" funcionan perfectamente, lo que significa que si el usuario hace clic en "Verdadero" y luego hace clic en "Falso", reemplaza la entrada de texto ya que no puede tener una respuesta "Verdadero "y" Falso ".

Pero hay un problema con los botones de letras. Si hace clic en los botones de letras, se da cuenta de que puede hacer clic en varios botones de letras, lo que está bien, pero el problema es que reemplaza la entrada de texto de esas letras que es incorrecta. Si se seleccionan varios botones de letras, debe mostrar las entradas de texto para todos los botones de letras, no reemplazar la entrada de texto con el último botón de letra seleccionado.

Entonces, ¿alguien sabe lo que necesito cambiar en el código para lograr esto?

+0

Esto es tarea, ¿no? ¿Nos vinculas a tu proyecto en un servidor de la escuela? – saml

Respuesta

1

Se genera un data-hid para el botón aquí:

var hid = "hidden" + id + n + "value"; 
$(btn).attr("data-hid", hid); 

basado en esto, ahora genera un campo de entrada:

var input = '<input type="text" id="' + hid + '" value="' + value + '" name="' + id + 'value" />'; 

La variable id en este es el id del botón, que será answerC por ejemplo. Entonces con esto obtendrás un oculto de #hiddenanswerC0value cuando haces clic por primera vez en el botón.

Sin embargo, cuando se agrega una respuesta de los botones tendrá un identificador generado de esta manera:

.attr('id', $this.attr('id')+'Row'); 

Por lo tanto, tendrá un extra al final. Por lo tanto, el data-hid y el cuadro de entrada también serán diferentes (#hiddenanswerCRow0value).

Editar: Otro problema es que no se crean realmente los datos ocultos para los nuevos botones. Solo lo crea para el primer conjunto de botones después de hacer clic en ellos. Pero cuando crea el segundo conjunto (después de hacer clic) con el botón C ya activado, no tendrá el conjunto data-hid y, por lo tanto, no podrá eliminarlo.

+0

Permítanme cambiar el violín, creo que puedo generar un conteo por cada respuesta que pertenece a cada pregunta, pero tengo un problema diferente – user1723760

+0

He actualizado la pregunta y actualizado el violín, ¿pueden tratar de resolver este problema en su lugar? – user1723760

+0

¿Es ese el problema al que se refiere en el violín actualizado que publiqué? – user1723760

0

Parece que la ID de entrada no se establece correctamente en la primera con la que tiene problemas. Muestro que obtiene una ID de "# hiddenanswerC0value" pero debería ser "# hiddenanswerCRow0value", si no me equivoco. Lo investigaré un poco más, pero eso podría ser suficiente para que lo descubras.

+0

Voy a actualizar qustion porque he cambiado el violín y tengo un problema diferente, olvídate del problema original – user1723760

+0

He actualizado una pregunta y violín actualizado, ¿puedes intentar resolver este problema en su lugar? – user1723760

Cuestiones relacionadas