我使用的是jQuery 1.3.2,而且我遇到了完全相同的problem mentioned here。
var tmp = jQuery(selector_string);
tmp.attr("selected", "selected");
我在IE6中正确获得了tmp的价值。但是,将属性设置为“已选择”将失败。它适用于IE7和Firefox。
答案 0 :(得分:0)
如果没有IE6,很难验证,但val()
可能会更改为value === ''
?不确定这是否兼容。
另外,也许.attr("selected", true)
?
答案 1 :(得分:0)
您确定要设置的DOM元素是下拉列表吗?还是可以“选择”的其他元素?
答案 2 :(得分:0)
我在IE6中处理这样的Dropbox时已经成功,只需在父selectedIndex
元素上设置select
属性,而不是试图告诉单个选项被“选中”。
$('select#mySelector')[0].selectedIndex = 3; // or whatever
你可以通过统计他的兄弟姐妹来确定个人option
的指数
var si = $('option#myOption).prevAll('option').length;
有趣的是,在你所包含的第二个链接中,看到一个解决方案,建议你在操纵DOM和尝试做你想要的之间注入一点点延迟。我猜测IE6的渲染/ javascript引擎必须依赖于在允许此操作之前在页面上可见的元素。 (settimeout将允许这种情况发生。)
祝你好运!