现在的位置: 首页 > 综合 > 正文

jquery ui的autocomplete在ie6下不能遮盖select 亲测通过

2018年05月22日 ⁄ 综合 ⁄ 共 1137字 ⁄ 字号 评论关闭

参考文章:

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处对应的值的时候,会发现回来了原来的问题,原来这中情况下的遮盖之是骗眼睛而已。

抱歉!评论已关闭.