web-dev-qa-db-ja.com

jQueryを使用してオプションのテキストを変更する

JQueryを使用してオプションのテキストを変更するにはどうすればよいですか?

オプションの<select>要素の[新しいもの]と[古いもの]を変更したいと思います。

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

.replaceWithは機能しません。

ありがとう。

- - 更新 - -

スクリプトが次のようになっている場合:

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

その後、最初のスクリプトをキャンセルしますが、それは私が望んでいるものではありません。 「最新」と読み替える「最新」と「最新」と読み替える「最新」という2つのオプションがあります。どうすればそれを達成できますか?

17
henryaaron

新しい質問を開始する必要がありますが、答えは次のとおりです。

$('select option:contains("Newest")').text('TEMPEST');
$('select option:contains("Oldest")').text('Newest');
$('select option:contains("TEMPEST")').text('Oldest');
41
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
     });
});

デモ: http://jsfiddle.net/diode/eSa5p/2/

3
Diode

選択したオプションのテキストを変更します。

$( "#select")。find( "option:selected")。text( 'Newest');

2
winbill
$('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/

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