zoukankan      html  css  js  c++  java
  • easyui

    问题1:

    datagrid显示出来了,json文件成功下载,但datagrid数据没有显示,如下图

    删除自己的css文件里的table{100%;}后恢复正常

    问题2:

    <table class='easyui-datagrid' ....></table>

    在页面加载完成后再添加url属性:

    $(function(){
       $('#table1').datagrid({url:'json/sss'}); 
    })

    debug发现后台查询了两次,url放在<table>节点里则只执行一次。

    删除<table>中的 class='easyui-datagrid'后恢复正常。

    (combotree却没有这种现象)

    现象3:

    用js加载的easyui控件(如用jquery的.load()页面里含控件),没有被解析成easyui的样式。

    添加$.parser.parse('#控件Container');后恢复正常(不带参时会解析当前页面里所有的easyui控件,为了效率,慎用)。

    现象4:

    如何一次性设置某类控件的共同的属性等?

    利用$.fn.控件类名.defaults,

    如日期选择控件统一显示yyyy-mm-dd格式:

    $.fn.datebox.defaults.formatter=function(date){
       var y=date.getFullYear();
       var m=date.getMonth()+1;
       var d=date.getDate();
       return y+'-'+(m<10?('0'+m):m)+'-'+(d<10?('0'+d):d);      
    }

    问题5:

    $(function(){})里对linkbutton设置disable无效,$.parser.parse()后生效。

     问题6:

    某页面中有一个datagrid1(对应节点id='table1'),点击某个东西运行函数opendlg()弹出一个dialog(对应节点id='dlg'),

    在这个dialog中也有一个datagrid2(对应节点id='table2'),关闭datagrid2时要刷新datagrid1.

    原始代码:

    function opendlg(){
       $('#dlg').dialog({
          title:'mytitle',
          url:'a.jsp?id='+id,
          buttons:[{    text:'Close',
                            iconCls:'icon-close',
                handler:function(){$('#dlg').dialog('close');}
                }]
        });
       $('#dlg').dialog('open');
       $('#dlg').dialog({
          onClose:function(){$('#table1').datagrid('load');}
       });  
    }

    结果在点击某个东西的第一次以后会报错:"can't read options of 'undefined'",提示的关于datagrid的options。

    修改代码:把dialog的onClose放进第一个$('#dlg').dialog({})里,与title、url、buttons并列,再次运行不在提示出错。

     问题7:

    某textarea有两条验证规则:<textarea class='easyui-validatebox' validtype='length[0,50] required='true' invalidMessage='长度不得超过50'</textarea>

    先有两个按钮:按 “保存” 时只要验证length不超过50,按 “提交” 时两个都要验证。

    开始的想法是获取options,设置它的required属性为false。结果提示:“Object #<Object> has no method 'options'” ,发现项目里easyui的版本是1.3.2,居然不支持'options'方法。

    用下面这个办法就可以了:$("[required='true']").validatebox({required:false})  (这不会影响节点required特性的值,所以能在 “提交” 时再设置$("[required='true']").validatebox({required:true})。使用$().attr('required','false')的方法无效。

    但这个页面里同时有一个日期控件:<input class='easyui-datebox easyui-validatebox' required='true' id='date1'>,

    上面的方法对它无效,在 “保存” 时仍会验证它,设置$('#date1').datebox({required:false});后取消了验证。

    问题8:

    针对validator编写自己的验证规则时,验证名称不要以数字结尾。如自定义了一个验证名称:length3,则提示js出错,无法验证,把名字修改为lengthnew则正常了。

    问题9:

    有个addTab方法,用于给#mainC替换tab页(每次只显示一个tab页)。

    function addTab(title,url){

    var mainC=$('#mainC');  mainC.tabs('close',0);

    mainC.tabs('add',{title:title,href:url,closable:true});

    }

    一个含datagrid的页面被addTab到#mainC,单击datagrid里的某格时,onClickCell时再addTab另一个页面。问题是每次click则报错‘cannot read property 'dc' of undefined’,如果是在事件里ajax提交,在success事件里addTab,则不报错。

    最后在onClickCell事件里修改为setTimeout(function(){addTab('mytitle','a.jsp')},1)就好了。

    待续。。。

  • 相关阅读:
    luogu4365 秘密袭击 (生成函数+线段树合并+拉格朗日插值)
    [模板]左偏树
    luogu4166 最大土地面积 (旋转卡壳)
    bzoj3168 钙铁锌硒维生素 (矩阵求逆+二分图最小字典序匹配)
    [模板]矩阵树定理
    [模板]快速傅里叶变换(FFT)
    [模板]Min_25筛
    [模板]杜教筛
    [模板]莫比乌斯反演
    DrawerLayout—侧拉栏的使用
  • 原文地址:https://www.cnblogs.com/yigeqi/p/3786118.html
Copyright © 2011-2022 走看看