Cómo verificar un valor basado en un botón de radio de un grupo de botones de radio usando jquery
Frecuentes
Visto 217 equipos
0
Quiero crear un sistema de clasificación por estrellas para una persona, para este usuario ingresa el valor de cinco categorías diferentes y quiero mostrar el promedio de esos valores en un grupo de botones de opción. Obtuve el promedio, pero ahora no entiendo cómo mostrar el promedio.
$("input[name='overall']").each(function(){
if(this.value == response.average){
$(this).attr('checked', true);
}
});
Quiero mostrar el promedio sobre este campo----
<div id="overall_rating" class="Clear">
<input id="overall" name="overall" type="radio" class="star {split:5} required" disabled="disbled" value="0.2" />
<input id="overall" name="overall" type="radio" class="star" value="0.4"/>
<input id="overall" name="overall" type="radio" class="star" value="0.6"/>
<input id="overall" name="overall" type="radio" class="star" value="0.8"/>
<input id="overall" name="overall" type="radio" class="star" value="1.0"/>
<input id="overall" name="overall" type="radio" class="star" value="1.2"/>
<input id="overall" name="overall" type="radio" class="star" value="1.4"/>
<input id="overall" name="overall" type="radio" class="star" value="1.6"/>
<input id="overall" name="overall" type="radio" class="star" value="1.8"/>
<input id="overall" name="overall" type="radio" class="star" value="2.0"/>
<input id="overall" name="overall" type="radio" class="star" value="2.2"/>
<input id="overall" name="overall" type="radio" class="star" value="2.4"/>
<input id="overall" name="overall" type="radio" class="star" value="2.6"/>
<input id="overall" name="overall" type="radio" class="star" value="2.8"/>
<input id="overall" name="overall" type="radio" class="star" value="3.0"/>
<input id="overall" name="overall" type="radio" class="star" value="3.2"/>
<input id="overall" name="overall" type="radio" class="star" value="3.4"/>
<input id="overall" name="overall" type="radio" class="star" value="3.6"/>
<input id="overall" name="overall" type="radio" class="star" value="3.8"/>
<input id="overall" name="overall" type="radio" class="star" value="4.0"/>
<input id="overall" name="overall" type="radio" class="star" value="4.2"/>
<input id="overall" name="overall" type="radio" class="star" value="4.4"/>
<input id="overall" name="overall" type="radio" class="star" value="4.6"/>
<input id="overall" name="overall" type="radio" class="star" value="4.8"/>
<input id="overall" name="overall" type="radio" class="star" value="5.0"/>
</div>
Por favor, ayúdame a encontrar la solución a este problema.
2 Respuestas
1
Espero que este código te ayude.
var average = response.average;
$("input[value='" + average + "']").attr("checked", "checked");
Solo necesita verificar si el promedio de respuesta está contenido en el atributo de valor de un botón de opción.
Respondido 28 ago 12, 15:08
0
Todos sus campos de entrada tienen el mismo ID. Los ID tienen que ser únicos en una página web. Intente corregir eso primero (es decir, elimine los ID de las entradas ya que no los necesita aquí).
Luego prueba $(this).prop("checked", true);
Respondido 28 ago 12, 14:08
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas php jquery or haz tu propia pregunta.
No puede tener varios elementos con la misma identificación (probablemente no sea lo que está causando el problema, pero no puede) - bfavaretto
Estás seguro
response.average
está disponible en ese contexto? - bfavarettointente usar .prop() en lugar de .attr() para verificar el botón de opción... - maxedison
¿Qué quiere decir con "mostrar el promedio sobre este campo"? - Explosion Pills
Su código debería estar funcionando, si
response.average
está realmente disponible: jsfiddle.net/eT5VF - bfavaretto