1

そのオプションの値に基づいて選択オプションを取得するにはどうすればよいですか。

例えば:

<select>
  <option>option1</option>
  <option>option2</option>
  <option>option3</option>
</select>

値に基づいて option2 を見つけたい。

var temp = "option2"; 
$(select).get(temp);

だから私はやりたいことの例として get() を使用しています。そのための get がないことはわかっていますが、option2 を jquery オブジェクトとして返すようにします。

4

3 に答える 3

5

:containsセレクターが必要です。

$('option:contains("option2")', 'select')
于 2012-07-27T20:19:02.470 に答える
1

@Rocket によって作成された良い点ごとに編集::

値を使用する場合は、これを試してください。

var val;

$( 'select' ).change(function(){
  val = $( 'option:selected', this ).val();
});

内部テキストを使用する場合は、これを試してください。

var text;

$( 'select' ).change(function(){
  text = $( 'option:selected', this ).text();
});

要素を取得する場合は、これを試してください:

var elem;

$( 'select' ).change(function(){
  elem = $( 'option:selected', this );
});
于 2012-07-27T20:19:11.710 に答える
0

これを試してください: http://jsfiddle.net/WEWcc/ または値属性なしで言及されたロケットのように、これを試してください: http://jsfiddle.net/cbyTf/

カスタムのフィルターっぽい関数を書くことができます。:)

コード

var temp = "option2";
$(document).ready(function() {

        var filter = temp;
        $('option').each(function() {
            if ($(this).val() == filter) {
                alert($(this).val());
            } else {

            }
            $('select').val(filter);
        })

})​

値属性なし

var temp = "option2";
$(document).ready(function() {

        var filter = temp;
        $('option').each(function() {
            if ($(this).html() == filter) {
                alert($(this).html());
            } else {

            }

        })
   $('select').val(filter);
})​
于 2012-07-27T20:22:14.853 に答える