Изменить текст опции с помощью jQuery - PullRequest
16 голосов
/ 27 февраля 2012

Как я могу изменить текст опции с помощью jQuery?

Я хотел бы изменить Самая новая версия со старейшим в опции - это элемент <select>.

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

.replaceWith не будет работать для меня.

Спасибо.

---- Обновление ----

Если мой скрипт выглядит так:

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

Тогда я отменяю первый сценарий, однако, это не то, что я хочу.У меня есть два варианта, один из которых гласит «Самый новый», который я хотел бы заменить на «Самый старый», а другой - «Самый старый», который я хотел бы заменить на «Самый новый».Как мне это сделать?

Ответы [ 5 ]

39 голосов
/ 27 февраля 2012

Вы должны начать новый вопрос, но вот ответ:

$('select option:contains("Newest")').text('TEMPEST');
$('select option:contains("Oldest")').text('Newest');
$('select option:contains("TEMPEST")').text('Oldest');
3 голосов
/ 27 февраля 2012
$("#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
     });
});

демо: http://jsfiddle.net/diode/eSa5p/2/

2 голосов
/ 08 июля 2018

Изменить текст выбранной опции:

$ ("# select"). Find ("option: selected"). Text ('Newest');

2 голосов
/ 27 февраля 2012
$('select option:contains("Newest")').each(function(){
   var $this = $(this);

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

http://jsfiddle.net/eSa5p/

РЕДАКТИРОВАТЬ: Ответ на новый вопрос:

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

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

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

0 голосов
/ 27 февраля 2012
$('select option:contains("Newest")').addClass('changeToOldest');
$('select option:contains("Oldest")').addClass('changeToNewest');
$('.changeToOldest').text('Oldest').removeClass('changeToOldest');
$('.changeToNewest').text('Newest').removeClass('changeToNewest');
...