Ottieni il testo selezionato da un elenco a discesa (casella di selezione) utilizzando jQuery
-
10-07-2019 - |
Domanda
Come posso ottenere il testo selezionato (non il valore selezionato) da un elenco a discesa in jQuery?
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.
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>
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();