=波波日志 > JavaScript/Ajax > jquery easyUI form plugin bug=

jquery easyUI form plugin bug

  jquery.easyui插件中的form表单插件存在一个bug,就是如果load 数据的时候,没有区分input是否为text或者radio,checkbox,直接一句
+展开
-JavaScript
$("input[name="+name+"]",form).val(val);



  这句就要老命了,会将radio,checkbox的值全部设置为加载的数据中键名称对应的值了,这样就无法修改radio,checkbox的值了。

  下面只需要将jquery.easyui.min.js文件中的这句
+展开
-JavaScript
$("input[name="+name+"]",form).val(val);



  替换成下面的即可修复此bug,不过checkbox的还是有一个小问题,就是如果多选了会匹配不上,O(∩_∩)O~

+展开
-JavaScript
$("input[name="+name+"]",form).not(':checkbox,:radio').val(val); //不设置checkbox,radio的值
$("input[name='"+name+"'][value='"+val+"']:radio,input[name='"+name+"'][value='"+val+"']:checkbox",form).attr('checked'true);//设置checkbox,radio的checked属性



  最终修正版,修正checkbox为多选的,注意checkbox为多选的时候json的键名称对应的值为数组[],而不是字符串"1,3,4"这种。
+展开
-JavaScript
$("input[name="+name+"]",form).not(':checkbox,:radio').val(val);
$("input[name='"+name+"'][value='"+val+"']:radio,input[name='"+name+"'][value='"+val+"']:checkbox",form).attr('checked'true);
if(typeof val=='object'){var cbSelector='';for(var i=0;i"input[name='"+name+"'][value='"+val[i]+"']:checkbox";if(cbSelector!='')$(cbSelector.substring(1),form).attr('checked',true);}


类别:JavaScript/Ajax 作者:波波 日期:2011-07-19 【评论:0】 
 
暂时没有评论!
发表留言
  • *昵称:
  • 头像:
  • 电子邮件: [留下您的邮件,方便管理员回复您。]
  • 个人网站: *验证码:
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载或引用的作品侵犯了您的权利,请通知我们,我们会及时删除!
Powered by showbo,©2012,桂ICP备05005887号 京公网安备1101055090