Wie wähle ich Optionen in der Mehrfachauswahlliste mit jQuery aus?

Lesezeit: 4 Minuten

Benutzer-Avatar
Sorin Antohi

Ich habe zwei Dropdowns. Wenn ein Benutzer einen Wert aus dem ersten auswählt, möchte ich im zweiten (mit der Mehrfachauswahloption) mit jQuery einige Werte automatisch auswählen. Wie kann ich das machen?

First select box:
<select id="update_carte_s" name="update_carte_s">
     <option value="5!**8,9**!6!44.9">Ghid complet Internet</option>
     <option value="6!**6,7**!6!24.95">PC pas cu pas</option>
     <option value="7!**10**!3!27.95">Jocul ingerului</option>
     <option value="8!**11,12**!8!39">Ghidul vinurilor</option>
</select>
Second select box:
<select id="uc_autori_s" name="uc_autorilist[]" size="5" multiple>
     <option value="3">Rose Tremain</option>
     <option value="4">Jonathan Coe</option>           
     <option value="5">Cecilia Ahern</option>
     <option value="6">Marinel Serban</option>
     <option value="7">Emanuela Cherchez</option>
     <option value="8">Peter Buckley</option>
     <option value="9">Clark Duncan</option>
     <option value="10">Carlos-Ruiz Zafon</option>
     <option value="11">Catalin Paduraru</option>
     <option value="12">Dan-Silviu Boerescu</option>
</select>

Die fett gedruckten Werte aus dem ersten Auswahlfeld werden aufgeteilt nach , sind die Werte, die ich aus dem zweiten Auswahlfeld auswählen möchte. Zum Beispiel 11,12 würde bedeuten in der zweiten Box Optionen mit den Werten 11 und 12 auszuwählen.

Aktuell habe ich so etwas:

$.bookAuthors = $.bookDetailsArray[1].split(',');
$.each($.bookAuthors, function( intIndex, objValue ){
      $("#uc_autori_s").val(objValue).attr("selected","selected");
});

aber das Problem ist, dass in meinem Fall 12 nur der letzte Wert ausgewählt wird (Auswahl von 11 geht verloren).

Sie können eine Auswahl mit mehreren Werten an ein Array übergeben

$("#uc_autori_s").val( $.bookAuthors );

  • Warum hat das keine Beachtung gefunden? Das funktioniert perfekt für alles.

    – rfoo

    20. Januar 2015 um 16:35 Uhr

Sie werden nicht in der Lage sein, die zu verwenden val Methode, um mehrere festzulegen options wie ausgewählt. Stattdessen sollten Sie die Option selbst auswählen und ihr ausgewähltes Attribut festlegen:

$('#uc_autori_s option[value=" + objValue + "]').attr('selected', true);

  • Ab jQuery 1.6 sollten Sie verwenden prop Anstatt von attr um boolesche Eigenschaften wie festzulegen selected

    – bdukes

    10. Februar 2014 um 16:34 Uhr

  • Ja, du kannst die verwenden val Methode. Dies sollte nicht als richtige Antwort markiert werden.

    – PachinSV

    4. September 2019 um 6:00 Uhr


Benutzer-Avatar
Dũng Trần Trung

Sie haben zum Beispiel ein Auswahlfeld wie dieses:

<select id="books">
  <option value="1">Harry Porter</option>
  <option value="2">Eragon</option>
  <option value="3">Gadfly</option>
  <option value="4">C++ For Dummies</option>
  <option value="5">Android Cookbook</option>
</select>

Um mehrere Optionen auszuwählen (z. B. Eragon, Gadfly), erstellen Sie ein Objekt, das Werte von Optionen enthält, die Sie auswählen möchten, und verwenden Sie dann Folgendes:

var options = ["2", "3"];
$("#books").val(options);

<select id="multiple" multiple="multiple">
  <option selected="selected">Multiple</option>
  <option>Multiple2</option>
  <option selected="selected">Multiple3</option>
</select>

<script>
$("#multiple").val(["Multiple2", "Multiple3"]);
</script>

Benutzer-Avatar
Majid Ali Khan

Sie müssen Folgendes tun, um Werte in der Mehrfachauswahl auszuwählen. Da Multiselect bei Auswahl ein Array von Werten zurückgibt, muss ihm dasselbe gegeben werden, wenn seine Werte standardmäßig festgelegt werden sollen.

<select id="sonyConsoles" multiple>
<option value="1">PS4 Pro</option>
<option value="2">PS4</option>
<option value="3">PS3</option>
<option value="4">PS Vita</option>
<option value="5">PSP</option>
</select>

Wenn Sie möchten, dass die Optionen 1, 2 und 4 standardmäßig ausgewählt werden, tun Sie dies; $(‘#sonyConsoles’).val([1,2,4]);

Dadurch wird die selectBox zurückgegeben, in der die Optionen 1, 2 und 5 ausgewählt sind.

Benutzer-Avatar
Athul Nalupurakkal

Hier ist der einfache Weg, um das Dropdown-Menü mit Mehrfachauswahl zu finden und auszuwählen

 $('#selectID ').children("option[value=" + myValue + "]").prop("selected", true);

Benutzer-Avatar
Zeeshan

Die einfachste und aktuellste Art von jQuery ist die Verwendung der Kartenfunktion

    var abc = $("select option:selected").map(function() {
                    return this.value;
                }).get().join(",");

  • Wenn Sie die Optionselemente bereits ausgewählt haben, können Sie dasselbe Ergebnis mit erhalten $("select").val()

    – Sergio A.

    16. Januar 2020 um 13:57 Uhr

1205770cookie-checkWie wähle ich Optionen in der Mehrfachauswahlliste mit jQuery aus?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy