Domanda

Come posso ottenere il testo selezionato (non il valore selezionato) da un elenco a discesa in jQuery?

È stato utile?

Soluzione

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

Altri suggerimenti

Prova questo:

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

Per un menu a discesa ASP.NET è possibile utilizzare il seguente selettore:

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

Le risposte pubblicate qui, ad esempio,

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

non ha funzionato per me, ma questo ha funzionato:

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

Probabilmente è una versione precedente di jQuery.

Se hai già l'elenco a discesa disponibile in una variabile, questo è ciò che funziona per me:

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

Le altre risposte a questa domanda mi hanno aiutato, ma alla fine il thread del forum jQuery $ (questo + " opzione: selezionato "). attr (" rel " ) l'opzione selezionata non funziona in IE ha aiutato di più.

Aggiornamento: risolto il link sopra

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

Questo funziona per me

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

Se l'elemento è stato creato in modo dinamico

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

$("#DropDownID").val() fornirà il valore dell'indice selezionato.

Questo funziona per me:

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

jQuery versione: 1.9.1

Per il testo dell'elemento selezionato, utilizzare:

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

Per il valore dell'elemento selezionato, utilizzare:

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

Vari modi

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

Questo ti aiuterà a ottenere la giusta direzione. Il codice sopra è completamente testato se hai bisogno di ulteriore aiuto fammi sapere.

Si prega di utilizzare questo

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

Quindi avvisare " selValue " e " selText " ;. Ottieni il valore e il testo a discesa selezionati

Per coloro che utilizzano gli elenchi SharePoint e non desiderano utilizzare l'id generato da lungo tempo, funzionerà:

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

Invece di #selectID puoi usare qualsiasi selettore jQuery, come .selectClass usando la classe.

Come menzionato nella documentazione qui .

Il: selettore selezionato funziona per < opzione > elementi. Non funziona per caselle di controllo o ingressi radio; usa :checked per loro.

.text () Come da documentazione qui .

Ottieni il contenuto del testo combinato di ciascun elemento nel set di elementi corrispondenti, inclusi i loro discendenti.

Quindi puoi prendere il testo da qualsiasi elemento HTML usando il metodo .text().

Consultare la documentazione per una spiegazione più approfondita.

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

Funziona bene

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

Per ottenere il valore selezionato usare

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

e per ottenere il testo dell'articolo selezionato usa questa riga:

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

Seleziona Testo e valore selezionato nel menu a discesa / seleziona evento di modifica in jQuery

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

Usa:

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

per me ha funzionato:

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

In caso di fratelli

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

Questo lavoro per me:

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

Sto usando jQuery 1.10.2

Prova:

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

O per ottenere il testo dell'opzione, utilizzare text():

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

Ulteriori informazioni:

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

 Fai clic per visualizzare la schermata OutPut

Prova semplicemente il seguente codice.

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

restituisce il testo dell'opzione selezionata.

Se si desidera il risultato come elenco, utilizzare:

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

Per selezioni multiple:

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

se usi asp.net e scrivi

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

allora dovresti usare

$('#<%=ddl.Clientid%> option:selected').text();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top