Ich versuche, Werte aus einer Dropdown-Box mit mehreren Auswahlmöglichkeiten in ein Array zu übertragen. Ich bin in der Lage, das zu tun, aber was passiert, ist, dass sie nicht in der Reihenfolge in das Array geschoben werden, in der ich es über Spleiß eingerichtet habe. Es wird in der Reihenfolge hinzugefügt, in der es in der Auswahlbox eingerichtet ist. Wenn ich zum Beispiel die Optionen in der Reihenfolge [467, 341, 344, 657, 677] wähle, zeigt mein Array [344, 467, 677, 341, 657]. Ich möchte, dass das Array in der Reihenfolge angezeigt wird, in der ich die Optionen ausgewählt habe. Das ist mein Code:Wie verschiebt man Werte aus einem Dropdown-Menü mit mehreren Auswahlmöglichkeiten in ein Array?
<select multiple class="yo">
<option value = "344">opt1</option>
<option value = "467">opt2</option>
<option value = "677">opt3</option>
<option value = "341">opt1</option>
<option value = "657">opt1</option>
</select>
var optVal = new Array();
var tArray;
$('.yo').each(function() {
var newS = $(this).val();
tArray = newS;
optVal.splice(0, 0, tArray);
});
Bitte helfen!
Hier mein Fiddle ist: https://jsfiddle.net/rprakash/e1xcd2gh/
Warum nicht einfach verwenden '.push()'? Es scheint, als ob Sie einen Event-Handler verwenden, zeigen Sie uns bitte im Code und geben Sie ein ausführbares Beispiel an. Ich kann diese Ergebnisse nicht mit deinem Code erhalten. –
Ich habe eine Geige hinzugefügt! – rashmeePrakash
Erstens "drücken" Sie nicht wirklich etwas in das Array, sondern behalten nur einen einzigen Wert. Auch die Multi-Select-Dosis verfolgt nicht in der Reihenfolge, in der Sie die Elemente ausgewählt haben. Sie wählt alle Elemente zwischen Ihren zwei Klicks aus, und zwar top-down. –