0

簡単に言えば、これを使用して:

<select id="Test">
    <option value="1">ABC</option>
    <option value="2">DEF</option>
</select>

jQueryを使用して「DEF」のみを使用するにはどうすればよいですかoption[value="2"]- 1.8.2を使用していることに注意してください

ありがとうございました!

4

4 に答える 4

6

:contains()セレクターを試してください:

$('#Test option:contains("DEF")')

フィドル

:contains()ワイルドカード検索であることに注意してください。完全一致が必要な場合は、オプションを反復またはフィルタリングして、text(). 1 つの可能性を次に示します。

http://jsfiddle.net/YuK2K/

console.log(getOptionByText('Test', 'DEF'));

function getOptionByText(id, value) {
    return $('#' + id).find('option').filter(function() {
       return $(this).text() == value; 
    });
}
于 2013-09-04T19:14:26.363 に答える
2

contains前に表示される他のオプションにその値が含まれていないことが確実な場合に使用できます。contains は完全一致ではなくワイルドカード一致であることに注意してください。代わりに、この方法で正確に一致させることができます。

$('#Test option').filter(function () {
    return this.innerHTML === 'DEF'
}).val();

フィドル

于 2013-09-04T19:18:14.313 に答える
1

それは役に立ちますか?

$( '#Test option' ).each( function() {
    if ( $( this ).html() == 'DEF' ) {
        alert( $( this ).val() );
    }
} );
于 2013-09-04T19:15:12.260 に答える
1
$("select option:contains('ABC')")

ここに例があります - http://jsfiddle.net/maximua/7fF7M/

于 2013-09-04T19:15:15.053 に答える