2011-11-12 4 views
1

ドロップダウンリストのオプションからテキストを取得しようとしています。次のドロップダウンには数百のオプションがあると仮定します。Jqueryをオプションタグで分割する

<select name="colors" id="colors"> 
    <option value="744">Green</option> 
    <option value="933">Red</option> 
    <option value="1838">Yellow</option> 
    <option value="1839">Blue</option> 
</select> 

すべてのオプションのテキストをPHPでコピー&ペーストできる配列形式で出力します。例:

'Green', 'Red', 'Yellow', 'Blue' 

これは私が</option>タグによって分割され、各オプション項目の周りに単一引用符を追加するかどうかはわかりません

var optionText = $("option").text().split().join(", "); 
$('.gettext').append(optionText); 

持っているものです。

http://jsfiddle.net/tp74c/

答えて

2

私はmapを使用して、別の方法、それらを結合する前に、配列の中にオプションを回すことをお勧め:

var optionText = $('option').map(function() { 
    return $(this).text(); 
}).get().join(', '); 

ます。また、そうのように、このように引用符を追加することができます。

var optionText = $('option').map(function() { 
    return "'" + $(this).text() + "'"; 
}).get().join(', '); 

編集:アレックスが指摘しているように、これはうまくいきません。どこかでテストしたので、これは奇妙です。今修正されました。

+0

返されたセットで最初に 'get()'を使う必要があると思います。 jQueryには 'join()'メソッドはありません。 – alex

+0

@alex:私はjQueryの人ではあまりありません。スタックオーバーフローのすべてをテストするだけで動作するようです。 – Ryan

関連する問題