2010-08-13 7 views
3

J'ai le code suivant auquel je n'ai pas accès.modifier le nom de la première option

Ce que je veux faire est d'ajouter du texte dans la première option qui est maintenant vide. Texte tel que "Sélectionner Adresse"

<select name="My_Saved_Billing" 
onChange="Choose_My_Saved_Billing(this.selectedIndex)" style="background-color:#EEEEEE"> 
<option></option> 
<option value="1394">text</option> 
</select> 
+0

'onChange ='? Eww! – strager

Répondre

10
$('select[name=My_Saved_Billing] > option:first-child') 
    .text('Select Address'); 

Si vous voulez trouver l'option vide (s), non seulement le premier, utilisez:

$('select[name=My_Saved_Billing] > option:empty') 
// or 
$('select[name=My_Saved_Billing] > option:empty:first') 

Pour obtenir l'option avec un contenu spécifique, utilisez:

$('select[name=My_Saved_Billing] > option:contains(texthere)') 
+0

Cela a bien fonctionné, juste une question de côté est, comment serait automatiquement sélectionner la première option qui avait une valeur ou un texte d'option, selon ce qui est le plus facile à coder. – user357034

+0

@ user357034, je recommande de stocker le sélecteur initial dans une variable. De cette façon, vous obtenez le même élément indépendamment du fait que le texte change. – strager

+0

Je ne vous comprends pas commentaire précédent. Ou peut-être que je ne me suis pas entièrement expliqué. À l'heure actuelle, il y a deux options, la première qui est à l'origine vide et la seconde qui a une valeur et un texte. S'il n'y a pas d'options avec une valeur ou un texte, comment pourrions-nous changer la première option pour dire autre chose au lieu de "select address" comme "Enter Address" je suppose que nous devons vérifier si toutes les options sont null ou text = "" – user357034

7
$("select[name=My_Saved_Billing] option:first").text("Select Address"); 

Démo: http://jsfiddle.net/VGhdX/

Pour répondre à votre question côté de votre commentaire (si je comprends bien):

comment sélectionnerait automatiquement la première option qui avait une valeur ou option texte le plus facile à code

Vous pouvez le faire en utilisant le Has Attribute Selector:

$("select[name=My_Saved_Billing] option[value]:first").text("Foo"); 

L'attribut a-sélecteur ignorera les attributs présents qui contiennent des valeurs vides (donc value="" sera pas match).

+0

Celui-ci a fonctionné aussi bien. Deux bonnes réponses, comment choisir? LOL – user357034

+0

Le problème est que je ne sais pas ce qui pourrait être dans le texte. Y at-il quelque chose comme .text (! = "") – user357034

+0

@ user357034 Essayez 'option [text! = '']: First' – karim79

Questions connexes