it-swarm.com.de

Holen Sie sich jeden ausgewählten Wert mit dem ausgewählten Jquery-Plugin

Ich verwende die gewählte Mehrfachauswahl. Was ich tun möchte, ist, dass, wenn der Benutzer eine Option auswählt, dieser Wert gewünscht wird und ich abhängig von diesem Wert einige Funktionen ausführen werde.

Bei Auswahl ohne Mehrfachauswahl kann ich mit foll einen ausgewählten Wert erhalten. Code

$(".selectId").chosen().change(function(){
     selectedValue = $(this).find("option:selected").val();
});

Aber in Multiple Select bekomme ich wieder den ersten ausgewählten Wert n. Kann mir jemand helfen, indem er den aktuell ausgewählten Wert in Multiple Select-Elementen findet?

13
sumit souda

Die ausgewählte Dokumentation erwähnt Parameter zum Abrufen der zuletzt geänderten Variablen.

Ausgewählt löst das Standard-DOM-Ereignis aus, wann immer eine Auswahl getroffen wird (Es sendet auch einen ausgewählten oder nicht ausgewählten Parameter, der Ihnen mitteilt, welche Option geändert wurde.).

Wenn Sie also nur die letzte Option aktivieren oder deaktivieren möchten:

$(".selectId").chosen().change(function(e, params){
 // params.selected and params.deselected will now contain the values of the
 // or deselected elements.
});

Wenn Sie das gesamte Array verwenden möchten, können Sie Folgendes verwenden:

$(".selectId").chosen().change(function(e, params){
 values = $(".selectId").chosen().val();
 //values is an array containing all the results.
});
19
Steve de Niese

Kurze Antwort:  

Sie machen einfach folgendes: var myValues = $('#my-select').chosen().val();

Vollständiges Beispiel:

Wenn Sie ein Select-Multiple wie dieses haben:

<select id="my-select" class="chzn-select" multiple data-placeholder="Choose one or more values...">
  <option value="value1">option1</option>
  <option value="value2">option2</option>
  <option value="value3">option3</option>
</select>

Sie können die ausgewählten Werte in einem Array wie folgt ausführen:

// first initialize the Chosen select
$('#my-select').chosen();

// then, declare how you handle the change event
$('#my-select').chosen().change(function(){
    var myValues = $('#my-select').chosen().val();

    // then do stuff with the array
    ...
});
13
ghis

ihr Code erhält den korrekten ausgewählten Wert. Da Sie jedoch mehrere Werte benötigen, müssen Sie loop .. verwenden. Oder verwenden Sie map, um den ausgewählten Wert abzurufen und in das Array zu verschieben.

versuche dies

 $(".selectId").chosen().change(function(){
    var  selectedValue = $.map( $(this).find("option:selected").val(), function(n){
              return this.value;
       });
    console.log(selectedValue );  //this will print array in console.
    alert(seletedValue.join(',')); //this will alert all values ,comma seperated
});

aktualisierte

wenn Sie kommaseperierte Werte erhalten, verwenden Sie split().

 var values=  $(".selectId").val();
 $.each(values.split(',').function(i,v){
     alert(v); //will alert each value
     //do your stuff
 }
1
bipen

Die ausgewählte Dokumentation erwähnt Parameter zum Abrufen der zuletzt geänderten Variablen.

$(".CSS Selector").chosen().change(function(e, parameters) {
  // params.selected and params.deselected will now contain the values of the
  // or deselected elements.
});

0
Jagannath

versuche dies

 $('.selectId:selected').each(function(i, selected) {

var value = $(selected).val();
var text = $(selected).text();

});
0
PSR