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?
30 answers
$("#yourdropdownid option:selected").text();
Tenta isto:
$("#myselect :selected").text();
Para um ASP.NET lista poderá usar o seguinte selector:
$("[id*='MyDropDownId'] :selected")
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.
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
$("#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());
});
$("option:selected", $("#TipoRecorde")).text()
$("#DropDownID").val()
irá indicar o valor do Índice seleccionado.
$('#yourdropdownid').find('option:selected').text();
JQuery version: 1.9.1
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();
De várias formas
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());
});
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
.
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.
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();
$("#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.
$("select[id=yourDropdownid] option:selected").text()
Isto funciona bem
Para obter o valor seleccionado, use
$('#dropDownId').val();
E para obter o texto do item seleccionado, use esta linha:
$("#dropDownId option:selected").text();
$('#id').find('option:selected').text();
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
})
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:
Basta tentar o seguinte código.
var text= $('#yourslectbox').find(":selected").text();
Devolve o texto da opção seleccionada.
Utilizar:
('#yourdropdownid').find(':selected').text();
var e = document.getElementById("dropDownId");
var div = e.options[e.selectedIndex].text;
O seguinte funcionou para mim:
$.trim($('#dropdownId option:selected').html())
$("#city :selected").text();
Estou a usar jquery 1.10.2
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()
$(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>
Se quiser o resultado como uma lista, então use:
x=[];
$("#list_id").children(':selected').each(function(){x.push($(this).text());})
$("#yourdropdownid").children("option").filter(":selected").text();
$("#dropdown").find(":selected").text();
$("#dropdown :selected").text();
$("#dropdown option:selected").text();
$("#dropdown").children(":selected").text();