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

j'ai deux choisir comment deux utiliser jquery sélectionner cette deuxsélecteur jquery comment sélecteur deux éléments

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

ce code ne pouvait sélectionner un élément, quelqu'un pouvait donner un coup de main, grâce

+0

Dans le pire des cas, vous pouvez toujours utiliser la méthode 'add'. –

Répondre

12

Il y a plusieurs options.

  1. Sélectionner tous les éléments de sélection sur la page:

    $("select").change(function(){xxx}); 
    
  2. Sélectionnez uniquement les éléments de sélection contenus dans un formulaire ayant l'ID formD:

    $("form#formD select").change(function(){xxx}); 
    
  3. Sélectionnez uniquement les éléments de sélection dans la classe d (ajouter un attribut HTML class à chaque élément de sélection):

    $("select.d").change(function(){xxx}); 
    
  4. Sélectionnez uniquement les éléments de sélection dont les noms/ID commencent par d:

    $("select[name^=d]").change(function(){xxx}); 
    
  5. Sélectionnez uniquement les éléments de sélection spécifiquement nommés par ID (ajouter un attribut id HTML pour chaque élément de sélection):

    $("select#d1, select#d2").change(function(){xxx}); 
    
  6. Sélectionnez uniquement les éléments de sélection spécifiquement nommés à l'aide de name à hommage (que je voudrais essayer d'éviter parce qu'il est moins lisible):

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

merci d'avoir volé _everyone's_ réponses –

+2

+1 pour montrer toutes les façons de le faire. Je recommande l'option 3. – RPM1984

+0

oh attends, il l'a fait aussi. +1 retiré. – RPM1984

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

Vous pouvez sélectionner ou d2 d1:

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

Mais il serait plus élégant si vous Assigne la même classe, puis sélectionné sur la base que:

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

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

$("select[name^=d]") - retournera tous les select s avec le nom à partir de d. Voici le violon: http://jsfiddle.net/KjURE/. C'est exactement ce que vous avez demandé