2011-01-05 4 views
5

Lo siento, pero esta es una pregunta de sintaxis jQuery muy básica, pero no puedo encontrar a nadie discutiendo en ella (probablemente porque no conozco los términos correctos para buscar).Conceptos básicos de JQuery: seleccionar elementos dentro de un elemento guardado en caché

Quiero seleccionar/almacenar en caché una usando una variable y luego obtener el valor de las entradas marcadas dentro de eso. Ahora sé que podría hacer esto sin almacenamiento en caché como:

var questionID = (a string) 
$(questionID + " input:radio:checked").val() 

pero yo uso objeto de la div # 'IdPregunta' un número de veces, así quiere almacenar es decir

questionID = '#' + ...Something that changes ... 
$question = $(questionID); 

Ahora que $ cuestión es un objeto jQuery no puedo encontrar la manera de seleccionar las cosas en su interior (sin el uso de los niños())

por ejemplo los siguientes no funcionan:

$question.(' input:radio:checked) 
$($question 'input:radio:checked') 

Me imagino que esto es un poco de verdad básica de la sintaxis, pero no puedo encontrar en cualquier lugar y he probado un montón de combinaciones sin suerte ......

Cualquier ayuda sería muy apreciada y disculpas si esto es realmente tonto pero yo soy muy nuevo en jQuery,

Nick

Respuesta

1

Usted puede utilizar

var checkedRadios = $('input:radio:checked', $question); 

O

var checkedRadios = $question.find('input:radio:checked'); 

Esto se conoce como desplazamiento del árbol, se puede encontrar más información sobre el árbol de la API de desplazamiento en jQuery Documentation

El método find se utiliza para buscar elementos en un ámbito determinado.

+0

Gracias. Eso es exactamente lo que estoy buscando. Miré moverse por el DOM, pero debo haber perdido el $ .find(). –

+0

Para el primer método, pensé que este selector selecciona múltiples elementos (es decir, selecciona cualquier 'entrada: radio: comprobada' y '$ pregunta') en lugar de seleccionarlos de una manera jerárquica (es decir, $ ('a', $ b) seleccionando a menos de $ b) –

0

Trate $('input:radio:checked', $question) ...

0

creo que tu buscas

var checkedRadiosInsideQuestion = $question.find('input:radio:checked'); 
Cuestiones relacionadas