web-dev-qa-db-fra.com

jQuery select2 obtenir la valeur de la balise select?

Bonjour les amis c'est mon code:

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

Ceci est mon code select2:

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

Ci-dessous le code pour obtenir la valeur sélectionnée.

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

Ceci est un texte comme first,second,three et je veux obtenir 1,2,3.
Cela signifie que j'ai besoin de la valeur de la zone de sélection, pas de texte.

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

Pour obtenir l'élément Select, vous pouvez utiliser $('#first').val();

Pour obtenir le texte de la valeur sélectionnée - $('#first :selected').text();

Pouvez-vous s'il vous plaît poster votre code de fonction select2() 

43
Krish R

$("#first").select2('data') renverra toutes les données sous forme de carte

30
wawa

Cette solution vous permet d'oublier un élément sélectionné. Utile lorsque vous n'avez pas d'identifiant sur certains éléments. 

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

Si vous utilisez ajax , vous voudrez peut-être obtenir la valeur mise à jour of select juste après la sélection.

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

Crédits: Steven-Johnston

6
Johny Pie

Essaye ça :

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

Voir ce violon .
En gros, vous voulez obtenir la values de vos balises option-, mais vous essayez toujours d'obtenir la valeur de votre select- node avec $("#first").val()

Nous devons donc sélectionner les options-tags et utiliser les sélecteurs jQuerys:

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

$("#first option") sélectionne chaque option qui est un enfant de l'élément avec l'id first.

2
Basti M

La réponse simple est:

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

et vous pouvez aussi écrire de cette façon:

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

D'autres réponses ne fonctionnaient pas pour moi alors j'ai développé la solution:

J'ai créé une option avec class = "option-item" pour faciliter le ciblage

HTML: 

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

Ensuite, pour chaque option sélectionnée, j’ai ajouté la propriété display none

CSS: 

option:checked {
   display: none;
}

Maintenant, nous pouvons ajouter change à notre SelectBox pour trouver notre option sélectionnée avec la propriété display none par le simple attribut : hidden

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

Violon de travail: https://jsfiddle.net/Friiz/2dk4003j/10/

0
Bartosz Was

Solution : 

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