10

我正在尝试设置一个具有选定值的选项(使用 jQuery)。我有一个字符串:

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

现在我试图找到 value=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 回答