Ändern Sie den Text einer Option mit jQuery

Lesezeit: 2 Minuten

Benutzer-Avatar
henryaaron

Wie kann ich den Text einer Option mit jQuery ändern?

Ich möchte die neueste mit der ältesten in einer Option ändern ist a <select> Element.

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

.replaceWith würde bei mir nicht funktionieren.

Vielen Dank.

—-Aktualisieren—-

Wenn mein Skript so aussieht:

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

Dann streiche ich das erste Drehbuch, aber das will ich nicht. Ich habe zwei Optionen, eine mit der Aufschrift “Neueste”, die ich durch “Älteste” ersetzen möchte, und eine mit der Aufschrift “Älteste”, die ich durch “Neueste” ersetzen möchte. Wie kann ich das erreichen?

  • Tut Text() nicht für dich arbeiten?

    – Xaver Holt

    27. Februar 2012 um 1:41 Uhr


  • Ihre Syntax ist kaputt. Wo hast du die gefunden .changeText Methode?

    Benutzer1106925

    27. Februar 2012 um 1:43 Uhr

  • @amnotiam Es war ein Platzhalter, um anzuzeigen, was ich erreichen wollte

    – Henryaaron

    27. Februar 2012 um 1:44 Uhr

  • Verwenden Sie die Methode @XavierHolt, auf die hingewiesen wurde, aber korrigieren Sie Ihre Syntax, indem Sie entweder die inneren einfachen Anführungszeichen entfernen, sie in doppelte Anführungszeichen ändern oder sie maskieren.

    Benutzer1106925

    27. Februar 2012 um 1:45 Uhr


  • @amnotiam Ja, darum habe ich mich gekümmert…

    – Henryaaron

    27. Februar 2012 um 1:48 Uhr

Sie sollten eine neue Frage stellen, aber hier ist die Antwort:

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

  • Dies ist eine unnötige dritte Abfrage des Doms. Sobald Sie ein jquery-Objekt erstellt haben, behält es die Liste der Elemente bei, mit denen es zum Zeitpunkt der Erstellung übereinstimmte. Speichern Sie die jquery-Objekte vor dem Ändern einfach in einer Variablen. Keine Notwendigkeit, eine zusätzliche Zeit abzufragen.

    – James Montagne

    27. Februar 2012 um 20:14 Uhr

Benutzer-Avatar
James Montagne

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

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

http://jsfiddle.net/eSa5p/

EDIT: Antwort auf die neue Frage:

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

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

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

  • Leider hat das bei mir nicht funktioniert, obwohl es mir lieber gewesen wäre

    – Henryaaron

    28. Februar 2012 um 0:23 Uhr

Benutzer-Avatar
Diode

$("#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
     });
});

Demo: http://jsfiddle.net/diode/eSa5p/2/

Text der ausgewählten Option ändern:

$(“#select”).find(“option:s selected”).text(‘Neueste’);

Benutzer-Avatar
TripathieC

Sie können dies mit einem einfachen Skript tun

$("option[value=optionvalue]").html('New text');

Benutzer-Avatar
mVChr

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

1063160cookie-checkÄndern Sie den Text einer Option mit jQuery

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy