2010-11-07 11 views
8
<select name="d1"> 
    <option value="dd">111</option> 
    <option value="dd">111111</option> 
</select> 
<select name="d2"> 
<option value="dd">2222</option> 
    <option value="dd">222222222222</option> 
</select> 

tengo dos seleccione cómo dos utilizan jQuery seleccionar estos dosselector de jQuery cómo selector de dos elementos

$("select[name='d1']").change(function(){xxx}); 

este código sólo podría seleccionar un elemento, cualquiera podría dar una mano, gracias

+0

En el peor de los casos, siempre puede usar el método 'add'. –

Respuesta

12

Hay varias opciones.

  1. Seleccionar todos los elementos de selección en la página:

    $("select").change(function(){xxx}); 
    
  2. seleccionar sólo aquellos seleccione elementos contenidos dentro de una forma que tiene el ID de formD:

    $("form#formD select").change(function(){xxx}); 
    
  3. seleccionar sólo aquellos seleccione elementos en la clase d (agregue un atributo de HTML class a cada elemento de selección):

    $("select.d").change(function(){xxx}); 
    
  4. seleccionar sólo aquellos elementos seleccionados cuyos nombres/identificadores comienzan con d:

    $("select[name^=d]").change(function(){xxx}); 
    
  5. seleccionar sólo aquellos elementos seleccionados expresamente mencionadas por ID (añadir un atributo id HTML para cada elemento de selección):

    $("select#d1, select#d2").change(function(){xxx}); 
    
  6. Seleccione solo los elementos seleccionados específicamente con el nombre name en tributo (que me gustaría tratar de evitar, ya que es menos legible):

    $("select[name='d1'], select[name='d2']").change(function(){xxx}); 
    
+2

gracias por robar _everyone's_ answers –

+2

+1 para mostrar todas las formas de hacerlo. Recomiendo la opción 3. – RPM1984

+0

oh espera, él también lo hizo. +1 retirado. – RPM1984

3
$("select[name='d1'],select[name='d2']").change(function(){xxx}); 
3

Usted puede seleccionar D1 o D2:

$("select[name='d1'], select[name='d2']").change(function(){xxx}); 

Pero sería más elegante si se les ha asignado la misma clase y luego se seleccionó en base a que:

<select name="d1" class="d">...</select> 
<select name="d2" class="d">...</select> 

$("select.d").change(function(){xxx}); 
2

$("select[name^=d]") - devolverá todos los select s con el nombre que comienza en d. Aquí está el violín: http://jsfiddle.net/KjURE/. Esto es exactamente lo que solicitó