webentwicklung-frage-antwort-db.com.de

jQuery select2 Wert des select-Tags erhalten?

Hallo Freunde, das ist mein Code:

<select id='first'>
  <option value='1'> First  </option>
  <option value='2'> Second </option>
  <option value='3'> Three  </option>
</select>

Dies ist mein select2-Code:

$("#first").select2();

Nachfolgend finden Sie den Code zum Abrufen des ausgewählten Werts.

$("#first").select2('val'); // It returns first,second,three.

Dies ist ein Text wie first,second,three und ich möchte 1,2,3 bekommen.
Bedeutet, ich brauche den Wert der Auswahlbox, nicht den Text.

73
Renish Khunt
$("#first").val(); // this will give you value of selected element. i.e. 1,2,3.
109
somesh

Um ein Select-Element zu erhalten, können Sie $('#first').val(); verwenden.

So rufen Sie den Text des ausgewählten Werts ab - $('#first :selected').text();

Können Sie bitte Ihren Funktionscode select2() posten? 

43
Krish R

$("#first").select2('data') liefert alle Daten als Karte zurück

30
wawa

Diese Lösung ermöglicht es Ihnen, das Auswahlelement zu vergessen. Hilfreich, wenn Sie keine ID für ausgewählte Elemente haben. 

$("#first").select2()
.on("select2:select", function (e) {
    var selected_element = $(e.currentTarget);
    var select_val = selected_element.val();
});
7
Steven Johnston

Wenn Sie ajax verwenden, möchten Sie vielleicht aktualisierten Wert direkt nach der Auswahl auswählen.

//Part 1

$(".element").select2(/*Your code*/)    

//Part 2 - continued 

$(".element").on("select2:select", function (e) { 
  var select_val = $(e.currentTarget).val();
  console.log(select_val)
});

Credits: Steven-Johnston

6
Johny Pie

Versuche dies :

$('#input_id :selected').val(); //for getting value from selected option
$('#input_id :selected').text(); //for getting text from selected option
2
Fahmi Imanudin

Siehe diese Geige .
Grundsätzlich möchten Sie die values Ihrer option- Tags abrufen, versuchen jedoch immer, den Wert Ihres select- Knotens mit $("#first").val() abzurufen. 

Also müssen wir die Option-Tags auswählen und wir werden jQuerys-Selektoren verwenden:

$("#first option").each(function() {
    console.log($(this).val());
});

$("#first option") wählt jede option aus, die dem Element mit der ID first untergeordnet ist.

2
Basti M

Einfache Antwort ist:

$('#first').select2().val()

und du kannst auf diese Weise auch schreiben:

 $('#first').val()
1
Rajiv Sharma

Andere Antworten funktionierten nicht für mich, also entwickelte ich eine Lösung:

Ich habe eine Option mit class = "option-item" zum einfachen Targeting erstellt

HTML: 

<select id="select-test">
<option value="5-val" id="first-id" class="option-item"> First option </option>
</select>

Dann fügte ich für jede ausgewählte Option die Eigenschaft display none hinzu

CSS: 

option:checked {
   display: none;
}

Jetzt können wir change zu unserer SelectBox hinzufügen, um unsere ausgewählte Option mit der Eigenschaft display none durch einfaches : hidden -Attribut zu finden

JQuery: 

$('#select-test').change(function(){
//value 
    $('#select-test').find('.option-item:hidden').val();
//id
    $('#select-test').find('.option-item:hidden').attr('id');
//text
    $('#select-test').find('.option-item:hidden').text();
});

Geige arbeiten: https://jsfiddle.net/Friiz/2dk4003j/10/

0
Bartosz Was

Lösung: 

var my_veriable = $('#your_select2_id').select2().val();
var my_last_veriable = my_veriable.toString();
0