JQuery操作Select的Options的Bug(IE8兼容性视图模式)


Posted in Javascript onApril 21, 2013

Bug现场:

JQuery操作Select的Options的Bug(IE8兼容性视图模式)

JQuery操作Select的Options的Bug(IE8兼容性视图模式)

JQuery操作Select的Options的Bug(IE8兼容性视图模式)


通过开发人员工具查看,下拉列表框是有Options的,但你点击选择的时候却什么也不显示。

重现步骤
该问题发生在级联下拉框的情况,第一个列表改变,第二个列表的值跟着改变!
本例中使用以下方法绑定数据:

//绑定下拉框 
//ctnSelector:下拉框ID,带#号, 
//jsonData:JSON数据, 
//txtField:文本字段名称, 
//valField:值字段名称, 
//strOptions:默认填加的项 
function InitSelectOptions(ctnSelector, jsonData, txtField, valField, strOptions) { 
if ($(ctnSelector).length == 0) { return false; }; 
$(ctnSelector).html(''); 
var optList = strOptions; 
if (typeof (jsonData) != undefined) { 
for (var jitem in jsonData) { 
if (jitem == "insertAt" || jitem == "removeAt" || jitem == "moveTo") { 
continue; //解决flareJ.Base.js导致的问题。 
} 
optList += "<option value='" + jsonData[jitem][valField] + "'>" + jsonData[jitem][txtField] + "</option>"; 
} 
} 
$(ctnSelector).html(optList); 
}

正常加载时不会出现任何问题!
但当因第一个下拉框的值改变,而第二个下拉框的选项都被清空了,
然后你还是去点第二个下拉框试图去选择一项后,
再去更改第一个下拉框的选项,
你会发现之前第二个下拉框中显示的与第一个下拉框对应的项却怎么也显示不出来了,
只能显示第一个,或是通过脚本设置为选中的一个!

解决方案
使用DOM的方法去操作Options,代码如下:

//绑定下拉框 
//ctnSelector:下拉框ID,带#号, 
//jsonData:JSON数据, 
//txtField:文本字段名称, 
//valField:值字段名称, 
//strOptions:默认填加的项 
function InitSelectOptions(ctnSelector, jsonData, txtField, valField, strOptions) { 
if ($(ctnSelector).length == 0) { return false; }; 
$(ctnSelector).empty(); 
var sel = $(ctnSelector).get(0); 
var newOpt = $(strOptions); 
var newOption1 = document.createElement("OPTION"); 
newOption1.text = newOpt.text(); 
newOption1.value = newOpt.val(); 
sel.options.add(newOption1); 
if (typeof (jsonData) != undefined) { 
for (var jitem in jsonData) { 
if (jitem == "insertAt" || jitem == "removeAt" || jitem == "moveTo") { 
continue; //解决flareJ.Base.js导致的问题。 
} 
var newOption = document.createElement("OPTION"); 
newOption.text = jsonData[jitem][txtField]; 
newOption.value = jsonData[jitem][valField]; 
sel.options.add(newOption); 
} 
} 
}
Javascript 相关文章推荐
javascript 显示当前系统时间代码
Dec 28 Javascript
基于JQuery的简单实现折叠菜单代码
Sep 15 Javascript
js实现在文本框光标处添加字符的方法介绍
Nov 24 Javascript
js实现的下拉框二级联动效果
Apr 30 Javascript
javascript insertAfter()定义与用法示例
Jul 25 Javascript
ionic组件ion-tabs选项卡切换效果实例
Aug 27 Javascript
详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度
Sep 14 Javascript
基于Bootstrap仿淘宝分页控件实现代码
Nov 07 Javascript
浅谈Angular的$q, defer, promise
Dec 20 Javascript
js 获取今天以及过去日期
Apr 11 Javascript
JS实现移动端判断上拉和下滑功能
Aug 07 Javascript
写一个移动端惯性滑动&amp;回弹Vue导航栏组件 ly-tab
Mar 06 Javascript
Jquery submit()无法提交问题
Apr 21 #Javascript
用表格输出1-1000之间的数字实现代码(附特效)
Apr 21 #Javascript
放弃用你的InnerHTML来输出HTML吧 jQuery Tmpl不详细讲解
Apr 20 #Javascript
对jQuery的事件绑定的一些思考(补充)
Apr 20 #Javascript
A标签中通过href和onclick传递的this对象实现思路
Apr 19 #Javascript
javascript中onclick(this)用法介绍
Apr 19 #Javascript
jQuery使用一个按钮控制图片的伸缩实现思路
Apr 19 #Javascript
You might like
百事可乐也出咖啡了 双倍咖啡因双倍快乐
2021/03/03 咖啡文化
Ha0k 0.3 PHP 网页木马修改版
2009/10/11 PHP
收藏的PHP常用函数 推荐收藏保存
2010/02/21 PHP
使用PHP similar text计算两个字符串相似度
2015/11/06 PHP
php并发加锁示例
2016/10/17 PHP
常用PHP封装分页工具类
2017/01/14 PHP
PHP设计模式之建造者模式定义与用法简单示例
2018/08/13 PHP
PHP中遍历数组的三种常用方法实例分析
2019/06/24 PHP
根据IP的地址,区分不同的地区,查看不同的网站页面的js代码
2013/02/26 Javascript
js局部刷新页面时间具体实现
2013/07/04 Javascript
Jqgrid表格随窗口大小改变而改变的简单实例
2013/12/28 Javascript
jQuery学习心得总结(必看篇)
2016/06/10 Javascript
angularjs封装bootstrap时间插件datetimepicker
2016/06/20 Javascript
vue.js数据绑定的方法(单向、双向和一次性绑定)
2017/07/13 Javascript
纯js实现页面返回顶部的动画(超简单)
2017/08/10 Javascript
AngularJS 中的数据源的循环输出
2017/10/12 Javascript
帝国cms首页列表页实现点赞功能
2017/10/30 Javascript
webpack多页面开发实践
2017/12/18 Javascript
完美解决axios跨域请求出错的问题
2018/02/05 Javascript
JS实现的A*寻路算法详解
2018/12/14 Javascript
小试SVG之新手小白入门教程
2019/01/08 Javascript
通过Python爬虫代理IP快速增加博客阅读量
2016/12/14 Python
关于pip的安装,更新,卸载模块以及使用方法(详解)
2017/05/19 Python
python里使用正则的findall函数的实例详解
2017/10/19 Python
Python线程创建和终止实例代码
2018/01/20 Python
java中两个byte数组实现合并的示例
2018/05/09 Python
Pytorch之Variable的用法
2019/12/31 Python
python interpolate插值实例
2020/07/06 Python
Expedia加拿大官方网站:加拿大最大的在线旅游提供商
2017/12/31 全球购物
Giglio英国站:意大利奢侈品购物网
2018/03/06 全球购物
巴西购物网站:Estrela10
2018/12/13 全球购物
应届毕业生个人自我评价
2013/09/20 职场文书
电子技术专业中专生的自我评价
2013/12/17 职场文书
执行力心得体会
2013/12/31 职场文书
三八妇女节趣味活动方案
2014/08/23 职场文书
你对自己的信用报告有过了解吗?
2019/07/09 职场文书