e.g。这里有“实时”版本:http://jsfiddle.net/Ltmbd/5/
<html> <body> <select id="some.list" > <option value="1" >AAA</option> <option value="2" >BBB</option> </select> </body> </html>
和相应的javascript / jquery:
$(function() { $("select").each(function() { $(this).val("2"); }); });
这应该在选择列表中选择“BBB”(如果你从ID“some.list”中删除'。',它会按预期工作)。请注意,jquery FAQ提到了一个相关但略有不同的问题。
显而易见的答案是“不要在你的ID中添加。”但是我使用的是脚手架(生成的)grails视图,因此违反此约定将会有很多工作。
使用Jquery 1.4.4
答案 0 :(得分:4)
这是解决问题的另一种选择。希望这会有所帮助。
$(function() {
$("select").each(function() {
$(this).attr('selectedIndex', 1);
});
});
谢谢。
答案 1 :(得分:2)
1.4.4以上的jQuery版本可以解决这个问题。 考虑更新你的jQuery版本,你的问题应该解决了,谢谢。
以下是报告的原始错误,案例是1.5版本已解决。
答案 2 :(得分:2)
如果由于某种原因必须坚持使用jQuery 1.4.4,请使用selectedIndex
更改选项值。它的工作原理,即使ID中有一个点。
this.selectedIndex = 1; //Select the second <option>
小提琴:http://jsfiddle.net/Ltmbd/6/
或者,您可以使用:
this.selectedIndex = $(this).find('option[value=2]').index();
答案 3 :(得分:0)