10

特定の値が選択されたオプションを設定しようとしています(jQueryを使用)。私は文字列を持っています:

var data = '<select><option value="1">A</option><option value="2">B</option><option value="3">C</option></select>';

今、値= 2のオプションタグを見つけて、選択済みとして設定しようとしています

$(data).find('option[value=2]').attr('selected','selected');

動いていない。私も試しました:

$(data).find('option').each(function(){
if($(this).val()==2){
    $(this).attr('selected','selected');
}
});

どちらも機能しませんでした。どうすればこれを機能させることができますか?

4

1 に答える 1

13

あなたのコードは問題なく動作しますが、もちろん、結果を確認するにはそれを DOM に追加する必要があります。ここではappendTo()[docs]メソッドを使用しました。

例: http://jsfiddle.net/cqhGH/

 // --v---------------make sure the DOM is loaded
$(function() {
    var data = '<select><option value="1">A</option><option value="2">B</option><option value="3">C</option></select>';

    $(data).appendTo('body').find('option[value=2]').attr('selected','selected');
});

もっと簡単な方法はval()[docs]メソッドを使用することです。

例: http://jsfiddle.net/cqhGH/1/

$(function() {
    var data = '<select><option value="1">A</option><option value="2">B</option><option value="3">C</option></select>';

    $(data).appendTo('body').val(2);
});
于 2011-02-26T17:33:24.163 に答える