2009-05-22 3 views
1

J'essaie de remplir une zone de texte en fonction des valeurs d'un ensemble de listes déroulantes. Une fois que l'utilisateur change la valeur d'une liste déroulante, je voudrais obtenir les valeurs de toutes les autres listes déroulantes qui sont contenues dans le même div. Dans l'exemple ci-dessous, j'essaie d'afficher la valeur «sélectionne» dans un div de Gien à travers une boîte de dialogue. Lorsque je cours le code ci-dessous, les boîtes de dialogue ne sont pas frappées du tout.Comment obtenir la valeur de toutes les autres listes déroulantes lorsque l'une d'elles est modifiée

HTML:

<div id="cat1"> 
    <select id="sel1" > 
     <option value="abc" > abc </option> 
     <option value="def" > def </option> 
    </select> 

    <select id="sel2"> 
     <option value="rst" > rst </option> 
     <option value="uvw" > uvw </option> 
    </select> 
</div> 

<div id="additional"> 
<!-- more selects --> 
</div> 

jQuery:

$(document).ready(function() { 
    $("#sel1").change(function() { 
     $(this).siblings('select').each(function() { 
       alert ('hi'); // does not even iterate 
       alert($(this).val()); 
     }); 
    }); 
}); 

Répondre

0

Pouvez-vous ajouter une classe à chacun des sélection dans le div? Comme si:

<div id="cat1"> 
<select id="sel1" class="div1"> 
    <option value="abc" > abc </option> 
    <option value="def" > def </option> 
</select> 

<select id="sel2" class="div1"> 
    <option value="rst" > rst </option> 
    <option value="uvw" > uvw </option> 
</select> 
</div> 

Alors le jQuery pourrait le faire:

$('.div1').each(function() { 
      alert ('hi'); // does not even iterate 
      alert($(this).val()); 
    }); 
+0

Salut Vincent, très lisse .. qui a fonctionné à merveille! Merci! – Ecognium

Questions connexes