EasyUI之Form load函数IE8下设置Radio或Checkbox的BUG
EasyUI的form的load函数很好用,表单赋值就靠它了,简单方便。我们可以指定url以Ajax加载,如:
1: $('#ff').form('load', 'ajax/common')
JSON如下:
也可以指定json,比如:
1: $('form').form('load', {"初审申请日期":"2013-05-30","伦理委员会受理编号":"123234",
2: "是否否决过":"是","是否终止过":"是","主要研究者姓名":"37","主要研究者单位":"123"
3: ,"主要研究者科室":"上海市XXXXXXXX医院","主要研究者联系电话":"123",
4: "主要研究者联系传真":"123","主要研究者联系Email":"123",
5: "主要研究者指定联系人姓名":"123","主要研究者指定联系人电话":"123",
6: "主要研究者指定联系人Email":"123","专业负责人":"34","研究方案名称":"123123123",
7: "研究方案编号":"123123123","申办者名称":"123123123","申办者地址":"123123123",
8: "申办者联系人":"123123123","申办者电话":"1231231231","临床监查员姓名":"1232312312"
9: ,"临床监查员电话":"12312313","本中心招募受试者人数":"12313123","总人数":"123123123",
10: "预期试验期限开始":"2013-06-15","预期试验期限结束":"2013-06-25","试验用品":"药物",
11: "产品名称":"werqre","药物分类":"种类一","医疗器械分类":"种类一","试剂分类":"种类一",
12: "使用方式":"创伤性","多中心试验":"是","研究形式":"第一期","研究形式观察":"观察",
13: "研究对象":"正常人","年龄范围18-44":"18-44","儿童年龄小于1":"小于1","弱势群体孕妇胎儿":"孕妇胎儿","弱势群体文盲":"文盲","要求排除对象女性":"女性","要求排除对象其他补充":"","特殊条件隔离区":"隔离区","特殊条件管制药品":"管制药品","特殊条件器官移植备注":"","特殊条件其他备注":"","利益冲突声明":"123123"});
不过需要注意一点的是,其是根据控件的name属性来匹配的。
最近在使用EasyUI时,发现表单上如果使用radio时,在IE8会加载出错,错误如下:
“in”的操作数无效: 缺少 Object
对于这种问题,只能见招拆招了。首先分析Jquery.easyui.min.js,很快就可以发现,判断代码在这里:
1: function _3fa(name,val){
2: var rr=$(_3f7).find("input[name=\""+name+"\"][type=radio], input[name=\""+name+"\"][type=checkbox]");
3: rr._propAttr("checked",false);
4: rr.each(function(){
5: var f=$(this);
6: if(f.val()==String(val)||$.inArray(f.val(),val)>=0){
7: f._propAttr("checked",true);
8: }
9: });
10: return rr;
11: };
因为是IE8有问题,那么可以在rr上设置一个断点,并且设置一个条件,比如:
这个条件值是radio的name。
跟踪下来就会发现,bug在这里:
1: if(f.val()==String(val)||$.inArray(f.val(),val)>=0){
2: f._propAttr("checked",true);
3: }
在调试窗口输入就会发现:
看来这还是Jquery的bug,不过不能算bug吧,所谓拉屎不出不能怪坑太小,开发者不判断,不能怪别人,于是bug很好解决了:
1: function _3fa(name,val){
2: var rr=$(_3f7).find("input[name=\""+name+"\"][type=radio], input[name=\""+name+"\"][type=checkbox]");
3: rr._propAttr("checked",false);
4: rr.each(function(){
5: var f=$(this);
6: if(f.val()==String(val)|| ($.isArray(val) && $.inArray(f.val(),val)>=0)){
7: f._propAttr("checked",true);
8: }
9: });
10: return rr;
11: };
所以有bug不要怕,只要有办法找到原因就好(开发人员工具一定要用好,但不要盲目下手)。希望EasyUI的下一个版本能够解决该问题。
EasyUI之Form load函数IE8下设置Radio或Checkbox的BUG的更多相关文章
- IE下设置body{overflow:hidden;}失效Bug
问题重现: <p>There are no scrollbars on this page in sane browsers</p> html, body, p { margi ...
- Jquery Mobile下设置radio控件选中
问题: .html文件头部引入了: <script src="js/jquery.js"></script> <script src="js ...
- jQuery 获取和设置radio 和 checkbox 值的操作
jquery 中的val(),可以取值也可赋值,表单元素中的radio和checkbox是比较常用的控件,下面说说对它们的取值和赋值的使用 1.取值 表单如下: <div class=" ...
- 解决IE8下opacity属性失效问题
由于opacity属性存在兼容性问题,所以在IE8下,用opacity来设置元素的透明度,会失效,从而导致页面的样式问题. 在IE8及其更早的浏览器下,我们可以使用filter属性,来代替opacit ...
- 解决IE8下opacity属性失效问题,无法隐藏元素
解决IE8下opacity属性失效问题 由于opacity属性存在兼容性问题,所以在IE8下,用opacity来设置元素的透明度,会失效,从而导致页面的样式问题.在IE8及其更早的浏览器下,我们可 ...
- IE6,IE7上设置body{overflow:hidden;}失效Bug
IE6,IE7下设置body{overflow:hidden;}失效Bug 最近做项目发现在IE7下设置body{overflow:hidden;}后还是会出现纵向滚动条,所以上网查查了,在这里记录一 ...
- easyui form load 数据表单有下拉框
(function () { $('#text1').combobox({ url: 'http://localhost:5463/test/getComboJson' }) $('#text2'). ...
- 解析:使用easyui的form提交表单,在IE下出现类似附件下载时提示是否保存的现象
之前开发时遇到的一个问题,使用easyui的form提交表单,在Chrome下时没问题的,但是在IE下出现类似附件下载时提示是否保存的现象. 这里记录一下如何解决的.其实这个现象不光是easyui的f ...
- 使用easyui的form提交表单,在IE下出现类似附件下载时提示是否保存的现象
之前开发时遇到的一个问题,使用easyui的form提交表单,在Chrome下时没问题的,但是在IE下出现类似附件下载时提示是否保存的现象. 这里记录一下如何解决的.其实这个现象不光是easyui的f ...
随机推荐
- history介绍及bash命令快速调用
在日常工作中,能够快速并准确的使用命令是必不可少的,下面为大家介绍一下其中的小技巧. 一.查找命令历史——history 使用history能够快速的找到之前输入过的命令. # history 大家可 ...
- C# Graphic 绘制圆、三角形、椭圆、图片
在form和panel上可以绘制图形,线段,圆,文字,图形等等. 绘制代码必须放在OnPaint()函数里面,因为窗体刷新的时候,都会调用该函数,重新刷新所绘的图. 示例代码在Panel上绘制图形来简 ...
- 三星嵌入式开发平台 三星Cortex-A9 4412 POP与SCP对比
iTOP-4412核心板是迅为电子推出的一款高端四核核心板,其中分为POP封装与SCP封装,配备三星Exynos 4412四核处理器,主频为1.4GHz,内置16GB存储空间.该板设计小巧.配备三星自 ...
- Hive conf issue
Hive --hiveconf v1="test" --hiveconf v2 -e "select * from ${hiveconf:v1} where col1=' ...
- javascript原型Prototype
在javaScript创建对象一文中提到过:用构造函数创建对象存在一个问题即同一构造函数的不同实例的相同方法是不一样的,所以我们用原型把构造函数中公共的属性和方法提取出来进行封装,达到让所有实例共享的 ...
- 2016开发一个app需要多少钱?app开发需要哪些成本-app开发问题汇总-广州达到信息
作为一个APP开发从业者,被外行的朋友们问及最多的问题是,"做一个网站需要多少钱?"或者"开发一个APP需要多少钱?".作为开发过完整网站项目和手机APP的人, ...
- uva 10976 fractions again(水题)——yhx
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAB3gAAAM+CAIAAAB31EfqAAAgAElEQVR4nOzdO7KtPJum69GEpAcVQQ ...
- 纯js和纯css+html制作的手风琴的效果
一:纯css+html的手风琴效果 这种用css写的手风琴比较简单,主要是应用到css中的,transition属性. 代码如下: <!DOCTYPE HTML> <html> ...
- 在Unity中为模型使用表情
在游戏中让角色能够拥有表情,是我一直很想实现的一件事情,今天搜索了一下这方面的资料,找到两个解决方案. MMD For Unity GitHub:https://github.com/mmd-for- ...
- Jenkins学习一:Jenkins是什么?
文章转载:http://www.cnblogs.com/zz0412/tag/jenkins/default.html?page=1 第一章 Jenkins是什么? Jenkins 是一个可扩展的持续 ...