web-dev-qa-db-fra.com

Changer le texte d'une option avec jQuery

Comment changer le texte d'une option avec jQuery?

Je voudrais changer le plus récent avec le plus ancien dans une option est un élément <select>.

$('select option:contains("Newest")').changeText('Oldest');

.replaceWith ne fonctionnerait pas pour moi.

Merci.

----Mettre à jour----

Si mon script ressemble à ceci:

$('select option:contains("Newest")').text('Oldest');
$('select option:contains("Oldest")').text('Newest');

Ensuite, j'annule le premier script, mais ce n'est pas ce que je veux. J'ai deux options, une "plus récente" que je voudrais remplacer par "plus ancienne" et une autre qui indique "plus ancien", que j'aimerais remplacer par "plus récente". Comment puis-je accomplir cela?

16
henryaaron

Vous devriez commencer une nouvelle question mais voici la réponse:

$('select option:contains("Newest")').text('TEMPEST');
$('select option:contains("Oldest")').text('Newest');
$('select option:contains("TEMPEST")').text('Oldest');
38
qwertymk
$("#mySelect option").html(function(i,str){
  return str.replace(/Newest|Oldest/g,  // here give words to replace
     function(m,n){
         return (m == "Newest")?"Oldest":"Newest";  // here give replacement words
     });
});

démo: http://jsfiddle.net/diode/eSa5p/2/

2
Diode
$('select option:contains("Newest")').each(function(){
   var $this = $(this);

   $this.text($this.text().replace("Newest","Oldest"));    
});​

http://jsfiddle.net/eSa5p/

EDIT: Réponse à la nouvelle question:

var $newest = $('select option:contains("Newest")');

$('select option:contains("Oldest")').text('Newest');
$newest.text('Oldest');

http://jsfiddle.net/eSa5p/3/

2
James Montagne

Changer le texte de l'option sélectionnée:

$ ("# select"). find ("option: selected"). text ('Le plus récent');

1
winbill
$('select option:contains("Newest")').addClass('changeToOldest');
$('select option:contains("Oldest")').addClass('changeToNewest');
$('.changeToOldest').text('Oldest').removeClass('changeToOldest');
$('.changeToNewest').text('Newest').removeClass('changeToNewest');
0
mVChr