web-dev-qa-db-fra.com

Obtenir le texte sélectionné dans une liste déroulante (case à cocher) à l'aide de jQuery

Comment puis-je obtenir le texte sélectionné (pas la valeur sélectionnée) à partir d'une liste déroulante dans jQuery?

2198
haddar
$("#yourdropdownid option:selected").text();
3633
rahul

Essaye ça:

$("#myselect :selected").text();

Pour un menu déroulant ASP.NET, vous pouvez utiliser le sélecteur suivant:

$("[id*='MyDropDownId'] :selected")
258
kgiannakakis

Les réponses affichées ici, par exemple,

$('#yourdropdownid option:selected').text();

n'a pas fonctionné pour moi, mais cela a:

$('#yourdropdownid').find('option:selected').text();

C'est peut-être une ancienne version de jQuery.

206
JYX

Si vous avez déjà la liste déroulante disponible dans une variable, voici ce qui fonctionne pour moi:

$("option:selected", myVar).text()

Les autres réponses à cette question m'ont aidé, mais finalement le fil de discussion du forum jQuery $ (this + "option: selected"). L'option attr ("rel") ne fonctionne pas dans IE a aidé le plus.

Mise à jour: correction du lien ci-dessus

99
Kirk Liemohn
$("option:selected", $("#TipoRecorde")).text()
62
Rafael

Ça marche pour moi

$("#dropdownid").change(function() {
    alert($(this).find("option:selected").text());
});

Si l'élément créé dynamiquement

$(document).on("change", "#dropdownid", function() {
    alert($(this).find("option:selected").text());
});
60
Prabhagaran

$("#DropDownID").val() donnera la valeur d'index sélectionnée.

54
Neeraj

Cela fonctionne pour moi:

$('#yourdropdownid').find('option:selected').text();

jQuery version: 1.9.1

53
Binita Bharati

Pour le texte de l'élément sélectionné, utilisez:

$('select[name="thegivenname"] option:selected').text();

Pour la valeur de l'élément sélectionné, utilisez:

$('select[name="thegivenname"] option:selected').val();
41
Kamrul

Différentes manières

1. $("#myselect option:selected").text();

2. $("#myselect :selected").text();

3. $("#myselect").children(":selected").text();

4. $("#myselect").find(":selected").text();
32
Salim
$("#dropdownID").change(function(){
  alert($('option:selected', $(this)).text());
});
29
N J
var someName = "Test";

$("#<%= ddltest.ClientID %>").each(function () {
    $('option', this).each(function () {
        if ($(this).text().toLowerCase() == someName) {
            $(this).attr('selected', 'selected')
        };
    });
});

Cela vous aidera à obtenir la bonne direction. Le code ci-dessus est entièrement testé si vous avez besoin d'aide, faites-le moi savoir.

26
Zarni

S'il vous plaît utiliser cette

var listbox = document.getElementById("yourdropdownid");
var selIndex = listbox.selectedIndex;
var selValue = listbox.options[selIndex].value;
var selText = listbox.options[selIndex].text;   

Alors, alertez "selValue" et "selText". Vous obtenez votre liste déroulante sélectionnée et le texte

19

Pour ceux qui utilisent des listes SharePoint et ne veulent pas utiliser l'identifiant longtemps généré, cela fonctionnera:

var e = $('select[title="IntenalFieldName"] option:selected').text();
18
FAA
 $("#selectID option:selected").text();

Au lieu de #selectID, vous pouvez utiliser n’importe quel sélecteur jQuery, comme .selectClass avec class.

Comme mentionné dans la documentation ici .

Le sélecteur: selected fonctionne pour les éléments <option>. Cela ne fonctionne pas pour les cases à cocher ou les entrées radio; utilisez :checked pour eux.

. text () Selon la documentation ici .

Obtenir le contenu textuel combiné de chaque élément de l'ensemble des éléments correspondants, y compris leurs descendants.

Vous pouvez donc prendre du texte à partir de n’importe quel élément HTML en utilisant la méthode .text().

Reportez-vous à la documentation pour une explication plus détaillée.

16
Nikhil Agrawal
$("select[id=yourDropdownid] option:selected").text()

Cela fonctionne bien

14
$('#id').find('option:selected').text();
12
Nikul

Pour obtenir l'utilisation de la valeur sélectionnée

$('#dropDownId').val();

et pour obtenir le texte de l'élément sélectionné, utilisez cette ligne:

$("#dropDownId option:selected").text();
12
Mojtaba

Sélectionner le texte et la valeur sélectionnée dans la liste déroulante/sélectionner l'événement de changement dans jQuery

$("#yourdropdownid").change(function() {
    console.log($("option:selected", this).text()); //text
    console.log($(this).val()); //value
})
10
Sandeep Shekhawat

Utilisation:

('#yourdropdownid').find(':selected').text();
9
kishore
var e = document.getElementById("dropDownId");
var div = e.options[e.selectedIndex].text;
8
Kalaivani M

Dans le cas de la fratrie

<a class="uibutton confirm addClient" href="javascript:void(0);">ADD Client</a>
<input type="text" placeholder="Enter client name" style="margin: 5px;float: right" class="clientsearch large" />
<select class="mychzn-select clientList">
  <option value="">Select Client name....</option>
  <option value="1">abc</option>
</select>


 /*jQuery*/
 $(this).siblings('select').children(':selected').text()
7
vineet

ce qui suit a fonctionné pour moi:

$.trim($('#dropdownId option:selected').html())
7
Mohammad Dayyan

Essayer:

$var = jQuery("#dropdownid option:selected").val();
   alert ($var);

Ou pour obtenir le texte de l'option, utilisez text():

$var = jQuery("#dropdownid option:selected").text();
   alert ($var);

Plus d'infos:

6
Vishal Thakur

Essayez simplement le code suivant.

var text= $('#yourslectbox').find(":selected").text();

il retourne le texte de l'option sélectionnée.

6
Muddasir23

Ce travail pour moi:

$("#city :selected").text();

J'utilise jQuery 1.10.2

6
$(function () {
  alert('.val() = ' + $('#selectnumber').val() + '  AND  html() = ' + $('#selectnumber option:selected').html() + '  AND .text() = ' + $('#selectnumber option:selected').text());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head runat="server">
    <title></title>

  </head>
  <body>
    <form id="form1" runat="server">
      <div>
        <select id="selectnumber">
          <option value="1">one</option>
          <option value="2">two</option>
          <option value="3">three</option>
          <option value="4">four</option>
        </select>

      </div>
    </form>
  </body>
</html>

Click to see OutPut Screen

6
Bhanu Pratap

Si vous voulez le résultat sous forme de liste, utilisez:

x=[];
$("#list_id").children(':selected').each(function(){x.Push($(this).text());})
3
max
$("#dropdownid option:selected").text();

si vous utilisez asp.net et écrivez

<Asp:dropdownlist id="ddl" runat="Server" />

alors vous devriez utiliser

$('#<%=ddl.Clientid%> option:selected').text();
0
Manish Singh

Il suffit d'ajouter la ligne ci-dessous

$(this).prop('selected', true);

remplacé .att à .prop cela a fonctionné pour tous les navigateurs.

0

Pour les sélections multiples:

$("#yourdropdownid :selected").map(function(i, v) { return $.trim($(v).text()); }
0
Curtis Yallop