zoukankan      html  css  js  c++  java
  • easy ui插件


    简介:

      easy UI是类似于jQuery UI的插件库

    注意:多脚本同时使用时,注意脚本冲突问题。

    常用插件:

      1.tree插件(tree插件实现动态树形菜单)

      2.datagrid插件(datagrid插件构建列表展示远程数据


     1.tree插件

      常用语法:$(selector).tree([settings]);

      常用属性:

      

      常用方法及事件:

      

      案例:(实现效果)

      

    步骤如下:  

      (1).引入需要脚本配置

      <script type="text/javascript" src="../jquery-easyui-1.2.6/jquery-1.7.2.min.js"></script>
      <script type="text/javascript" src="../jquery-easyui-1.2.6/jquery.easyui.min.js"></script>
      <link rel="stylesheet" href="../jquery-easyui-1.2.6/demo/demo.css" type="text/css"></link>
      <link rel="stylesheet" href="../jquery-easyui-1.2.6/themes/icon.css" type="text/css"></link>
      <link rel="stylesheet" href="../jquery-easyui-1.2.6/themes/default/easyui.css" type="text/css"></link>

       (2).书写tree_data.json关于json配置的文件

    [
    {"id":1,"text":"S11","state":"open",
    
    "children":[{"id":11,"text":"Node 11"},
                 {"id":12,"text":"Node 12"}]
                 
    },
    {"id":2,"text":"Node 2","state":"closed"}
    ]
    

      (3).进行获取json,进行页面渲染。

      <script type="text/javascript">
      $(function(){
        $("#easyui-tree").tree({
         url:'tree_data.json',	  
         });
      });
      
      </script>
      
      </head>
      <body>
       <div class="demo-tip icon-tip"></div>
         <h1>easyUI tree</h1>
         <ul id="easyui-tree">
        	
         </ul> 
      </body>
    

      (4).然后就是tree插件的一些属性用法,及方法和事件解析:

      注意:属性展示效果的同时,要避免冲突,单个实现效果展示。

     <!-- 小图标特效脚本 -->
      <link rel="shortcut icon" type="image/x-icon" href="<%=path %>/img/favicon.ico" />
      <script type="text/javascript">
      $(function(){
        $("#easyui-tree").tree({
            url:'tree_data.json',
            checkbox:true,
            onBeforeLoad:function(node,param){
          	// alert('开始请求数据');
          	//return false;
            },
            onLoadSuccess:function(node,data){
            //alert('请求数据成功');
            },
            onLoadError:function(){
             // alert('加载失败');
              
           },
           
    	  //当用户点击一个节点时触发
              onClick:function(node){
            	
              //通过控制台查看书写属性的区别之别,大部分是进行获取一个id或者子节点的调试及新加子节点
              console.log($('#easyui-tree').tree('getNode',node.target));
              alert($(this).tree('getNode',node.target).checked);
              console.log($('#easyui-tree').tree('getData',node.target));
               
              console.log($('#easyui-tree').tree('getRoot',node.target));
              
              console.log($('#easyui-tree').tree('getChildren',node.target));
             
              if(($('#easyui-tree').tree('getChildren',node.target).length)==0){
              	 $('#easyui-tree').tree('append',{
               	 parent:node.target,
               	 data:[{text:'新加的'}]
             	});
              }               
             },
            
            //onDblClick当用户双击一个节点时触发
            onDblClick:function(node){
            $(this).tree('toggle',node.target);
            	
            },
            //animate:true,
            //级联选项卡
            cascadeCheck:true,
            onlyLeafCheck:false,  
            //拖拽
            dnd:true,
        });
      
      });
      
      
      //button里定义的方法,进行获取功能选项
      //后期可进行功能分配
      function sb(){
          $('#easyui-tree').tree('loadData',[{text:'number11'}]);
         
          // $('#easyui-tree').tree('reload');
        
          //console.log($('#easyui-tree').tree('getChecked'));
         
          //console.log($('#easyui-tree').tree('getSelected'));
          
          //console.log($('#easyui-tree').tree('find',12));
          
         /* var node= $('#easyui-tree').tree('find',12);
         $('#easyui-tree').tree('select',node.target); */
         
         /* var node= $('#easyui-tree').tree('find',12);
         $('#easyui-tree').tree('uncheck',node.target); */
         
         /* var node= $('#easyui-tree').tree('find',1);
         $('#easyui-tree').tree('collapse',node.target); */
         
         //$('#easyui-tree').tree('expandAll');
         
    
      }
      
      </script>
      
      </head>
      <body>
       <div class="demo-tip icon-tip"></div>
         <h1>easyUI tree</h1>
         <ul id="easyui-tree">
         	<li>S1</li>
         	<li>S2</li>
         	<li>Y2</li>
         </ul> 
         <input type="button" id="used" value="功能性按钮" onclick="sb()"/>
      </body>
    

    经验:

      tree菜单数据要求使用json格式,并且符合其方法要求,建议格外小心,以避免不必要的麻烦。


     2.datagrid插件

      语法:$(selector).datagrid([settings]); 

      常用属性:

     

      常用方法:

       

       常用事件:

     

       


    案例效果图:

      

    步骤如下:

       (1).创建实体类GridNode,以备资源进行获取属性 

    	private Long id;    //id
    	private String title; //标题
    	private String options; //备选项数
    	private String participants;//参选人数

       (2).创建datagrid_server.jsp进行构造数据,以及分页显示(服务器端代码)

    %
    	 //构造测试数据
    	 List<GridNode> list=new ArrayList<GridNode>();
    	 list.add(new GridNode(1L,"选出你心目中最好的下载工具","2","6"));
    	 list.add(new GridNode(2L,"选出你心目中最好的下载工具","2","6"));
    	 list.add(new GridNode(3L,"选出你心目中最好的下载工具","5","4"));
    	 list.add(new GridNode(4L,"选出你心目中最好的下载工具","2","6"));
    	 list.add(new GridNode(5L,"选出你心目中最好的下载工具","8","5"));
    	 list.add(new GridNode(6L,"选出你心目中最好的下载工具","2","5"));
    	 list.add(new GridNode(7L,"选出你心目中最好的下载工具","7","6"));
    	 list.add(new GridNode(8L,"选出你心目中最好的下载工具","3","9"));
    	 list.add(new GridNode(9L,"选出你心目中最好的下载工具","20","6"));
    	 list.add(new GridNode(10L,"选出你心目中最好的下载工具","2","14"));
    	 list.add(new GridNode(11L,"选出你心目中最好的下载工具","12","6"));
    	 list.add(new GridNode(12L,"选出你心目中最好的下载工具","2","6"));
    	
    	
    	 //获取客户端传递的分页参数
    	 Integer pageSize=Integer.parseInt(request.getParameter("rows"));
    	 //默认参数rows表示每页显示记录条数
    	 Integer pageNumber=Integer.parseInt(request.getParameter("page"));
    	 //默认参数page表示的当前页数
    	 StringBuilder builder = new StringBuilder("{"total":"+list.size()+","rows":[");
    	 int start=(pageNumber-1)*pageSize;   //计算分页开始记录数
    	 int end=start+pageSize;              //计算分页结束记录数
    	 
    	 //根据分页起始参数构建当前页的列表数据
    	 for(int i=start;i<end&&i<list.size();i++){
    	 GridNode gn=list.get(i);
    	 builder.append("{"id":""+gn.getId()+"","title":""+gn.getTitle()+"","options":"+gn.getOptions()+","participants":"+gn.getParticipants()+"},");
    	 }
    	 String gridJSON=builder.toString();
    	 if(gridJSON.endsWith(",")){
    	 gridJSON=gridJSON.substring(0, gridJSON.lastIndexOf(","));
    	 }
    	 out.print(gridJSON+"]}");
     %>
     

         (3).创建datagrid1.jsp进行获取资源,然后进行设定属性

    <script type="text/javascript">
          $(function(){
            $('#dg').datagrid({
            //远程请求数据的url路径
            url:'<%=path%>/datagrid/datagrid_server.jsp', 	
            800,
            height:300,
            //表头的小头标
            iconCls:'icon-search',
            //显示行号
            rowNumbers:true,
            //显示底部分页栏
             pagination:true,
            //默认显示每页记录数
            pageSize:5,
            pageList:[5,10,15],
            //指定列
    	columns:[[
    			{field:'ck',checkbox:true},
    			{field:'title',title:'投票标题',408},
    			{field:'options',title:'备选项数',60,align:'center'},
    			{field:'participants',title:'参与人数',60,align:'center'}
    		]],
    		loadMsg:"正努力为您加载中......",
    		//只允许选中一行
    		singleSelect:true,
    		//隔行变色
    		striped:true,
    		rownumbers:true,  
          });
        
         });
      </script>
      </head>
      
      <body>
       <!-- 定义用来存放列表的空间 -->
       <table id="dg" title="投票管理" class="easyui-grid"></table>
      </body>


     谨记每天要做的事。

  • 相关阅读:
    python requests 上传excel数据流
    No module named 'requests_toolbelt'
    code
    pytest 打印调试信息
    python3 获取日期时间
    Java单元测试之JUnit篇
    The import junit cannot be resolved解决问题
    什么是索引
    python3 ini文件读写
    js 测试题
  • 原文地址:https://www.cnblogs.com/hq-123/p/5970004.html
Copyright © 2011-2022 走看看