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);}


加支付宝好友偷能量挖...


原创文章,转载请注明出处:jquery easyUI form plugin bug

评论(0)Web开发网
阅读(112)喜欢(0)easyui开发技巧