Obtenir le texte sélectionné dans une liste déroulante (case à cocher) à l'aide de jQuery
-
10-07-2019 - |
Question
Comment puis-je obtenir le texte sélectionné (pas la valeur sélectionnée) à partir d'une liste déroulante dans jQuery?
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>
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();