2009-05-22 2 views
1

Ich versuche, ein Textfeld basierend auf den Werten aus einer Reihe von Dropdowns zu füllen. Sobald der Benutzer den Wert eines Dropdown-Menüs ändert, möchte ich die Werte aller anderen Dropdown-Elemente abrufen, die in demselben div enthalten sind. Im folgenden Beispiel versuche ich, den Wert in einem gien div über ein Dialogfeld anzuzeigen. Wenn ich den Code unten ausführe, werden die Dialogfelder überhaupt nicht getroffen.Wie bekomme ich den Wert aller anderen Dropdowns, wenn einer von ihnen geändert wird

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()); 
     }); 
    }); 
}); 

Antwort

0

Können Sie eine Klasse zu jedem der wählt in den div hinzufügen? Wie so:

<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> 

Dann könnte die jQuery dies tun:

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

Hallo Vincent, sehr glatt .., die schön gearbeitet! Vielen Dank! – Ecognium

Verwandte Themen