2010-11-07 18 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> 

Ho due prescelto come due utilizzare jQuery selezionare questo dueselettore jquery come selettore a due elementi

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

questo codice solo potrebbe selezionare un elemento, qualunque potrebbe dare una mano, grazie

+0

Nel caso peggiore puoi sempre usare il metodo 'add'. –

risposta

12

ci sono diverse opzioni.

  1. selezionare tutti gli elementi selezionati nella pagina:

    $("select").change(function(){xxx}); 
    
  2. scegliere solo i selezionare gli elementi contenuti all'interno di un modulo con l'ID formD:

    $("form#formD select").change(function(){xxx}); 
    
  3. scegliere solo i selezionare elementi nella classe d (aggiungere un attributo HTML class a ciascun elemento selezionato):

    $("select.d").change(function(){xxx}); 
    
  4. Selezionare solo quegli elementi di selezione i cui nomi/ID iniziano con d:

    $("select[name^=d]").change(function(){xxx}); 
    
  5. selezionare solo quei selezionare elementi indicati in modo specifico per ID (aggiungere un attributo id HTML ad ogni elemento di selezione):

    $("select#d1, select#d2").change(function(){xxx}); 
    
  6. Selezionare solo quegli elementi di selezione specificatamente denominati utilizzando name in omaggio (che vorrei cercare di evitare, perché è meno leggibile):

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

grazie per aver rubato le risposte di _everyone –

+2

+1 per mostrare tutti i modi per farlo. Consiglierei l'opzione 3. – RPM1984

+0

oh aspetta, anche lui lo ha fatto. +1 ritirato. – RPM1984

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

È possibile selezionare D1 o D2:

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

Ma sarebbe più elegante se è stato assegnato loro la stessa classe e poi selezionati sulla base di quanto segue:

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

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

$("select[name^=d]") - restituirà tutti i select s con nome che inizia a d. Ecco il violino: http://jsfiddle.net/KjURE/. Questo è esattamente quello che hai richiesto