Comment trouver une balise d'option avec une valeur spécifique à l'aide de jQuery
Je suis en train de définir une option avec une valeur spécifique, tel que sélectionné (à l'aide de jQuery). J'ai une chaîne de caractères:
var data = '<select><option value="1">A</option><option value="2">B</option><option value="3">C</option></select>';
Maintenant, je vais essayer de trouver la balise d'option avec la valeur=2 et la définir comme sélectionné
$(data).find('option[value=2]').attr('selected','selected');
Ça ne fonctionne pas 🙁 ... j'ai aussi essayé:
$(data).find('option').each(function(){
if($(this).val()==2){
$(this).attr('selected','selected');
}
});
qui n'a pas fonctionné non plus...
Est-il anbody là-bas qui peut vous aider?
OriginalL'auteur esviko | 2011-02-26
Vous devez vous connecter pour publier un commentaire.
Votre code fonctionne très bien, mais bien sûr, vous devez l'ajouter à la DOM pour voir le résultat. Ici j'ai utilisé la
appendTo()
[docs] méthode.Exemple: http://jsfiddle.net/cqhGH/
Bien un moyen plus facile est d'utiliser le
val()
[docs] méthode.Exemple: http://jsfiddle.net/cqhGH/1/
Vous êtes les bienvenus.
... désolé, mais cela ne résout pas mon problème
OriginalL'auteur user113716
@patrick dw
Je pense que je dois être plus précis 🙂 je suis en train de construire de nouvelles lignes de la table et de les ajouter à une table. Le tableau ressemble à:
Les lignes de la table qui je veux ajouter avoir un td avec une balise select. L'sélectionner des étiquettes dans chaque ligne sont les mêmes sauf pour l'attribut 'selected' qui dépend de la valeur.
Je suppose que les données doivent être un objet, pas une chaîne...
$(data)
vous êtes en train de créer un ensemble d'éléments du DOM en fonction de la chaîne, de sorte que vous n'êtes pas en train de modifier la chaîne avec le.attr()
appel. Donner à ceci un essai: jsfiddle.net/aKnBnSalut Patrick! Tanx beaucoup! Maintenant ça fonctionne 🙂 j'ai encore une question concernant:
var $data = $('<tr><td>'+data+'</td></tr>');
je ne savais pas, vous pouvez utiliser le $ dans un nom de variable... semble étrange pour moi, mais ça marche 😀Oui, il est possible d'avoir
$
dans une variable javascript nom. Il n'a pas de signification particulière, mais certaines personnes aiment à l'utiliser dans des variables qui font référence à un objet jQuery.OriginalL'auteur esviko