如何使用jQuery查找具有特定值的选项标记

esv*_*iko 10 jquery find selected option

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

var data = '<select><option value="1">A</option><option value="2">B</option><option value="3">C</option></select>';
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试找到值为2的选项标签并将其设置为选中

$(data).find('option[value=2]').attr('selected','selected');
Run Code Online (Sandbox Code Playgroud)

这不起作用:-( ...我也尝试过:

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

也没有工作...那里有谁可以提供帮助吗?

use*_*716 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');
});
Run Code Online (Sandbox Code Playgroud)

虽然更简单的方法是使用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);
});
Run Code Online (Sandbox Code Playgroud)