2008-11-09 19 views
14

tengo este formulario:Seleccione varios descendientes con jQuery?

<form name="customize"> 
    Only show results within 
     <select name="distance" id="slct_distance"> 
      <option>25</option> 
      <option>50</option> 
      <option>100</option> 
      <option value="10000" selected="selected">Any</option> 
    </select> miles of zip code 
    <input type="text" class="text" name="zip_code" id="txt_zip_code" /> 
    <span id="customize_validation_msg"></span> 
</form> 

¿Cómo puedo seleccionar que el input y select con un selector de jQuery?

He intentado esto, pero es seleccionado todos los selecciona y entradas de la página:

$("form[name='customize'] select,input") 

Respuesta

32

La coma en la cadena del selector separa las expresiones completamente separadas, como en CSS, por lo que el selector que ha dado obtiene los elementos seleccionados dentro del formulario denominado "personalizar" y todas las entradas en el formulario (como ha descrito) Parece que usted quiere algo como esto:

$("form[name='customize'] select, form[name='customize'] input") 

o si usted no está en Repetición del, esto:

$("form[name='customize']").children("select, input") 
+0

Ah, lo entiendo. ¡Gracias! – Greg

+6

alternativamente: $ ("select, input", "form [name = customize]") - el segundo parámetro es el elemento contenedor. – Sugendran

0

Para mí su sugerencia trabajó. También puede usar

form[name='customize'] select, form[name='customize'] input 

Ambos selectores funcionan como yo lo veo. Tal vez el problema se encuentra en otro lugar?

me trataron

$("form[name='customize'] select, input").css('font-size', '80px'); 

en el ejemplo HTML. El tamaño de fuente para seleccionar e ingresar cambió.

--- --- edición

Mi sugerencia anterior es la correcta. Selecciona solo los elementos en la forma personalizada.

+0

Eso funciona, pero selecciona todas las entradas y las selecciona en la página, por lo que si prueba en una página con ese formulario funcionará, pero no en páginas reales. Aclaré mi pregunta. – Greg

6

Un corto sintaxis $ (selector, parentselector) también es posible. Ejemplo en esta página:

// all spans 
$("span").css("background-color","#ff0"); 

// spans below a post-text class 
$("span", ".post-text").css("background-color","#f00"); 

Editar - olvidé el caso particular de varios tipos de niños!

// spans and p's below a post-text class 
$("span,p", ".post-text").css("background-color","#f00"); 
Cuestiones relacionadas