select的option动态生成,google不兼容,怎么破?

时间:2022-08-24 10:39:08
select的option动态生成,google不兼容,怎么破?
如图:设置option动态生成,但是chrome在第一次点击的时候出现如图效果,第二次点击才能用?
火狐测试正常

代码:

$("#pk_class").focus(function(){
  $.post("/apply/getClasses.do",function(data){
for(var i=0;i<data.length;i++){
 $("#pk_class").append("<option value='"+data[i].pk_class+"'>text</option>");
}
},"json");

7 个解决方案

#1


把focus换成mouseover;

#2


option动态生成 代码放 window.onload 中

#3


引用 1 楼 a756375788 的回复:
把focus换成mouseover;

这个效果不大好啊,鼠标一划过就改了,万一不小心划过而不是要修改其内容就不好了。

#4


引用 2 楼 hch126163 的回复:
option动态生成 代码放 window.onload 中

就是在$(function(){})中的。

#5


引用 3 楼 songqi0418 的回复:
Quote: 引用 1 楼 a756375788 的回复:

把focus换成mouseover;

这个效果不大好啊,鼠标一划过就改了,万一不小心划过而不是要修改其内容就不好了。

经测试,火狐浏览器中mouseover时,根本没办法选择下面的项目,而是一直不停的跟后台交互。

#6


楼主解决了么,我也遇到了,头疼死了

#7



var op = ["a","b","c","d"];
$("#test").focus(function () {
for(var i = 0;i<op.length;i++){
    $("#test").append("<option value='" + op[i] + "'>text</option>");
};
    });

我这边测试两个浏览器都没有问题……
不过发现了另一个问题,如果不清除select里的option的话,每次获得focus,选项都会增加;
只是遗憾并没有重现你的问题

#1


把focus换成mouseover;

#2


option动态生成 代码放 window.onload 中

#3


引用 1 楼 a756375788 的回复:
把focus换成mouseover;

这个效果不大好啊,鼠标一划过就改了,万一不小心划过而不是要修改其内容就不好了。

#4


引用 2 楼 hch126163 的回复:
option动态生成 代码放 window.onload 中

就是在$(function(){})中的。

#5


引用 3 楼 songqi0418 的回复:
Quote: 引用 1 楼 a756375788 的回复:

把focus换成mouseover;

这个效果不大好啊,鼠标一划过就改了,万一不小心划过而不是要修改其内容就不好了。

经测试,火狐浏览器中mouseover时,根本没办法选择下面的项目,而是一直不停的跟后台交互。

#6


楼主解决了么,我也遇到了,头疼死了

#7



var op = ["a","b","c","d"];
$("#test").focus(function () {
for(var i = 0;i<op.length;i++){
    $("#test").append("<option value='" + op[i] + "'>text</option>");
};
    });

我这边测试两个浏览器都没有问题……
不过发现了另一个问题,如果不清除select里的option的话,每次获得focus,选项都会增加;
只是遗憾并没有重现你的问题