参考文章:
http://blog.csdn.net/ablipan/article/details/12781619?reload
建议先学习上面的文章
本文按照参考文章没成功,自己稍微做了点修改,不过,思路是从哪里来的,感谢分享者
我是jqueryui做的一个动态的下拉框,然后在ie6下
别人给出的办法,是在本页面写一个js
function gg() { var code = ["<html>"]; code.push("<body style='background-color:#F8F8F8;'>"); code.push("</body>"); code.push("</html>"); return code.join(""); }
然后在弹出的ui上面包裹一层div,在div里加入下面的
<div style="position:absolute;z-index:-1;left:0px;top:0;width:232px;background-color:#F8F8F8;"><iframe style="width:100%;" frameborder="0" scrolling="no" src="javascript:parent.gg();"></iframe> </div>
这样就是在select上面增加了一个新的iframe曾来遮盖select,
但是
有问题,我用的是jquery ui的autocomplete,他里面没有所谓的对应的能加div的地方,或者说我这个菜鸟还没有能力去加那个东西,百度到最上面的blog,查看并且根据修改得到了正确的结果,
同样引入 jquery.bgiframe.js 这个是关键,嘎嘎
我与原文不同的地方是:
就是在自己的autocomplete方法中
open: function() { $("#ID").autocomplete("widget").width(300); },
没有open的加上上面的,当然id要根据自己实际情况了
然后就基本没问题了,原文中下面有个span在我的ff中报错,各位大侠可以自己试试,看那个对于自己是好的,小弟水平有限,只能分享到这了,希望对有需要的人有帮助。
ps:为啥还要兼容ie6,其实很简单,看用自己的客户的平均水平了,根据他们的情况来选择是否兼容ie6,不能一遇到ie6就说,fuck ie6,
下面说一点修改中遇到的其他问题:这是我自己搞的,很显然失败了。。。。
修改好了下拉不被遮住的情况,
思路:在autocomplete输入一定数据的时候在下拉框弹出来的时候将select给hide掉,经测试 基本成功
为啥是基本成功呢?因为当选择的是select处对应的值的时候,会发现回来了原来的问题,原来这中情况下的遮盖之是骗眼睛而已。