Question

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

Était-ce utile?

La solution

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

Autres conseils

Essayez ceci:

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

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

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

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

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

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

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

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

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 jQuery $ (this + & option; sélectionné: "). attr (" rel " ) L’option sélectionnée ne fonctionne pas dans IE a été le plus utile.

Mise à jour: correction du lien ci-dessus

$("option:selected", $("#TipoRecorde")).text()

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

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

Cela fonctionne pour moi:

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

version jQuery : 1.9.1

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

Différentes manières

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

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

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

4. $("#myselect").find(":selected").text();
$("#dropdownID").change(function(){
  alert($('option:selected', $(this)).text());
});
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.

Veuillez utiliser ceci

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

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

Pour ceux qui utilisent les listes SharePoint et qui ne souhaitent pas utiliser l'ID généré depuis longtemps, cela fonctionnera:

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

Au lieu de #selectID, vous pouvez utiliser n’importe quel sélecteur jQuery, comme .selectClass en utilisant la classe.

Comme indiqué dans la documentation, ici .

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

.text () Conformément à la documentation ici .

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

Vous pouvez donc extraire du texte de n'importe quel élément HTML à l'aide de la .text() méthode.

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

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

Cela fonctionne bien

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

Pour obtenir la valeur sélectionnée, utilisez

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

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

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

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

Utiliser:

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

Ce qui suit a fonctionné pour moi:

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

Dans 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()

Ce travail pour moi:

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

J'utilise jQuery 1.10.2

Essayez:

$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:

$(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>

 Cliquez pour voir l'écran OutPut

Essayez simplement le code suivant.

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

renvoie le texte de l'option sélectionnée.

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

x=[];
$("#list_id").children(':selected').each(function(){x.push($(this).text());})

Pour les sélections multiples:

$("#yourdropdownid :selected").map(function(i, v) { return $.trim($(v).text()); }
$("#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();
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top