2012-07-13 68 views
0

我想选择一个字符串中的选项,其中字符串将是下拉内容,但我不知道如何循环通过字符串作为对象请。 在这个例子中,我想选择“Saab”并且提醒字符串。通过字符串的下拉选项循环,并选择

var x = '<select><option>Volvo</option> <option>Saab</option> <option>Mercedes</option> <option>Audi</option> </select>'; 

$.each($(x), function(index, value) { 
    if ($(this).val() == "Saab"){ 
     $(this).attr("selected","selected") 
    } 
}); 
alert(x); 

回答

3

开始转动字符串转换成jQuery对象:

var x = $(x); 

然后,只需选择正确的选项并将其设置为:

$('option:contains("Saab")', x).prop('selected', true); 

​​

+0

谢谢你,将有可能把它放回字符串格式如VAR X =“ '; – 2012-07-13 07:43:41

+0

@PeterPitLock - 当然,只需使用另一个变量而不是'x',或者使用'toString()' - 看看这个[FIDDLE] - – adeneo 2012-07-13 07:56:05

+0

好像我是不幸的是,一切工作正常,除非我试图让它回到字符串格式,似乎我必须解决与x.replace('','<选择选择='选择'>萨博') , 谢谢 – 2012-07-13 08:10:05

0
$.each($('option', x), function(index, value) { 
    if ($(this).text() == "Saab"){ 
     $(this).attr("selected","selected") 
    } 
}); 
+0

感谢,警报不显示选择http://jsfiddle.net/4ENqr/ – 2012-07-13 07:30:38

0

这是在一个HTML页面?如果是的话,为什么不使用$(“option”)。each()?

+0

我觉得这是acheive – 2012-07-13 07:21:56

0

不需要循环,jQuery的可以做,雅

$(x).children('option:contains("Saab")').attr('selected','selected'); 

裁判:http://api.jquery.com/category/selectors/

+0

PS正确的方法:当你警报(X),你不看到它选择,你必须追加到主体 – 2012-07-13 07:26:15

+0

我不知道'文本'是一个选项元素的属性?不知道这会起作用。 – brains911 2012-07-13 07:35:07

+0

哎呀,我忘了含有事情:( – 2012-07-13 08:03:13