Obter o texto seleccionado de uma lista (seleccione a opção) com o jQuery

Como posso obter o texto seleccionado (não o valor seleccionado) de uma lista em jQuery?

Author: kewlashu, 2009-10-29

30 answers

$("#yourdropdownid option:selected").text();
 3852
Author: rahul, 2009-10-29 12:05:38

Tenta isto:

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

Para um ASP.NET lista poderá usar o seguinte selector:

$("[id*='MyDropDownId'] :selected")
 271
Author: kgiannakakis, 2009-10-29 12:04:28

As respostas postadas aqui, por exemplo,

$('#yourdropdownid option:selected').text();
Não funcionou para mim, mas isto funcionou.
$('#yourdropdownid').find('option:selected').text();
É possivelmente uma versão mais antiga do jQuery.
 219
Author: JYX, 2015-02-28 08:52:31

Se já tiver o dropdownlist disponível numa variável, é isto que funciona para mim:

$("option:selected", myVar).text()
As outras respostas a esta pergunta ajudaram-me, mas, em última análise, o tópico do fórum jQuery$(Esta + "opção: seleccionada").a opção attr ("rel") seleccionada não está a funcionar no IE ajudou mais.

Actualização: fixa a ligação acima

 105
Author: Kirk Liemohn, 2016-05-12 07:22:38
Isto funciona para mim.
$("#dropdownid").change(function() {
    alert($(this).find("option:selected").text());
});

Se o elemento criado dinamicamente

$(document).on("change", "#dropdownid", function() {
    alert($(this).find("option:selected").text());
});
 69
Author: Prabhagaran, 2017-08-01 07:59:04
$("option:selected", $("#TipoRecorde")).text()
 66
Author: Rafael, 2012-01-17 18:21:59

$("#DropDownID").val() irá indicar o valor do Índice seleccionado.

 55
Author: Neeraj, 2011-11-14 09:34:54
Isto funciona comigo.
$('#yourdropdownid').find('option:selected').text();

JQuery version: 1.9.1

 55
Author: Binita Bharati, 2015-02-28 08:56:48

Para o texto do item seleccionado, use:

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

Para o valor do item seleccionado, use:

$('select[name="thegivenname"] option:selected').val();
 42
Author: Kamrul, 2016-06-29 12:02:14

De várias formas

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

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

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

4. $("#myselect").find(":selected").text();
 35
Author: MaxEcho, 2014-08-03 19:39:08
$("#dropdownID").change(function(){
  alert($('option:selected', $(this)).text());
});
 31
Author: 124, 2014-02-01 05:55:09

Utilize este

const select = document.getElementById("yourSelectId");

const selectedIndex = select.selectedIndex;
const selectedValue = select.value;
const selectedText = select.options[selectedIndex].text;   

Depois obtém o valor e o texto seleccionados dentro de selectedValue e selectedText.

 31
Author: Mohammed Shaheen MK, 2019-11-22 14:30:17
var someName = "Test";

$("#<%= ddltest.ClientID %>").each(function () {
    $('option', this).each(function () {
        if ($(this).text().toLowerCase() == someName) {
            $(this).attr('selected', 'selected')
        };
    });
});
Isso vai ajudá-lo a ir na direcção certa. O código acima está totalmente testado se precisar de mais ajuda, avise-me.
 28
Author: Zarni, 2011-02-02 12:28:44

Para aqueles que estão a usar SharePoint e não querem usar o id gerado há muito tempo, Isto irá funcionar:

var e = $('select[title="IntenalFieldName"] option:selected').text();
 19
Author: FAA, 2015-03-21 13:56:07
 $("#selectID option:selected").text();

Em vez de #selectID podes usar qualquer selector de artigos jQuery, como .selectClass a usar a classe.

Como mencionado na documentação aqui .

o: selector seleccionado funciona para os elementos

.texto () de acordo com a documentação aqui.

obter o conteúdo de texto combinado de cada elemento no conjunto de elementos correspondentes, incluindo o seu descendente.

Para que possa tirar o texto de qualquer elemento HTML usando o método .text().

Consulte a documentação para uma explicação mais profunda.

 17
Author: Nikhil Agrawal, 2015-02-28 08:58:50
$("select[id=yourDropdownid] option:selected").text()

Isto funciona bem

 15
Author: Thangamani Palanisamy, 2013-04-23 10:23:52

Para obter o valor seleccionado, use

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

E para obter o texto do item seleccionado, use esta linha:

$("#dropDownId option:selected").text();
 13
Author: Mojtaba, 2016-01-23 09:07:31
$('#id').find('option:selected').text();
 12
Author: Nikul, 2015-04-11 09:39:05

Seleccione o texto e o valor seleccionado na lista/seleccione a opção Mudar o evento no jQuery

$("#yourdropdownid").change(function() {
    console.log($("option:selected", this).text()); //text
    console.log($(this).val()); //value
})
 11
Author: Sandeep Shekhawat, 2016-06-29 12:01:50

Tenta:

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

Ou para obter o texto da opção, use text():

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

Mais Informações:

 11
Author: Vishal Thakur, 2017-03-09 07:03:10

Basta tentar o seguinte código.

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

Devolve o texto da opção seleccionada.

 10
Author: Muddasir23, 2018-11-13 06:03:43

Utilizar:

('#yourdropdownid').find(':selected').text();
 9
Author: kishore, 2014-11-29 09:35:43
var e = document.getElementById("dropDownId");
var div = e.options[e.selectedIndex].text;
 9
Author: Kalaivani M, 2017-01-04 12:53:48

O seguinte funcionou para mim:

$.trim($('#dropdownId option:selected').html())
 8
Author: Mohammad Dayyan, 2015-09-17 05:13:23
Isto funciona para mim.
$("#city :selected").text();

Estou a usar jquery 1.10.2

 7
Author: Rhaymand Tatlonghari, 2015-07-09 02:00:43

Em caso de irmão

<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
Author: vineet, 2016-06-29 12:03:07

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

 7
Author: Bhanu Pratap, 2016-09-29 04:59:33

Se quiser o resultado como uma lista, então use:

x=[];
$("#list_id").children(':selected').each(function(){x.push($(this).text());})
 4
Author: max, 2017-01-18 21:56:31
Este código funcionou comigo.
$("#yourdropdownid").children("option").filter(":selected").text();
 4
Author: Naveenbos, 2020-02-13 16:17:09
$("#dropdown").find(":selected").text();


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

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

$("#dropdown").children(":selected").text();
 3
Author: shyamm, 2019-12-17 06:50:30