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 相关文章推荐
从父页面读取和操作iframe中内容方法
Jul 25 Javascript
基于jQuery的的一个隔行变色,鼠标移动变色的小插件
Jul 06 Javascript
查看图片(前进后退)功能实现js代码
Apr 24 Javascript
Firefox中使用outerHTML的2种解决方法
Jun 07 Javascript
AngularJS入门教程之链接与图片模板详解
Aug 19 Javascript
微信小程序 使用腾讯地图SDK详解及实现步骤
Feb 28 Javascript
JavaScript 数据类型详解
Mar 13 Javascript
VueJS组件之间通过props交互及验证的方式
Sep 04 Javascript
利用JS测试目标网站的打开响应速度
Dec 01 Javascript
Layui给switch添加响应事件的例子
Sep 03 Javascript
vue+element tabs选项卡分页效果
Jun 29 Javascript
TypeScript中条件类型精读与实践记录
Oct 05 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
关于时间计算的结总
2006/12/06 PHP
php HtmlReplace输入过滤安全函数
2010/07/03 PHP
PHP微信开发之查询微信精选文章
2016/06/23 PHP
php操作access数据库的方法详解
2017/02/22 PHP
[HTML/CSS/Javascript]WWTJS
2007/09/25 Javascript
IE8 原生JSON支持
2009/04/13 Javascript
JavaScript Event学习补遗 addEventSimple
2010/02/11 Javascript
js通过iframe加载外部网页的实现代码
2015/04/05 Javascript
Javascript从数组中随机取出不同元素的两种方法
2016/09/22 Javascript
浅谈webpack对样式的处理
2018/01/05 Javascript
基于Vue的ajax公共方法(详解)
2018/01/20 Javascript
小程序登录/注册页面设计的实现代码
2019/05/24 Javascript
[01:08:09]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第二局
2016/03/02 DOTA
[02:42]完美大师赛主赛事淘汰赛第三日观众采访
2017/11/25 DOTA
致Python初学者 Anaconda入门使用指南完整版
2018/04/05 Python
Python HTML解析器BeautifulSoup用法实例详解【爬虫解析器】
2019/04/05 Python
Django REST framework 分页的实现代码
2019/06/19 Python
Python学习笔记之lambda表达式用法详解
2019/08/08 Python
python 利用pyttsx3文字转语音过程详解
2019/09/25 Python
浅析python redis的连接及相关操作
2019/11/07 Python
Python读取表格类型文件代码实例
2020/02/17 Python
解决Jupyter因卸载重装导致的问题修复
2020/04/10 Python
Python __slots__的使用方法
2020/11/15 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
2020/12/17 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
2021/02/26 Python
新加坡航空官方网站:Singapore Airlines
2016/10/13 全球购物
以特惠价提供在线奢侈品购物:FRMODA.com
2018/01/25 全球购物
Linux开机引导的步骤是什么
2014/02/26 面试题
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
2013/02/17 面试题
应届医学毕业生求职信分享
2013/12/02 职场文书
大学四年学习的自我评价分享
2013/12/09 职场文书
公司财务自我评价分享
2013/12/17 职场文书
医学生求职自荐书
2014/06/12 职场文书
自强自立美德少年事迹材料
2014/08/16 职场文书
员工辞职信范文大全
2015/05/12 职场文书
2016年全国助残日活动总结
2016/04/01 职场文书