jQuery EasyUI是一组基于jQuery的UI插件集合体。我的理解:jquery是js的插件,easyui是基于jquery的插件。用easyui可以很轻松的打造出功能丰富并且美观的UI界面。

这两天主要接触了easyui的datagrid组件和dialog组件。

easyui的组件都有属性,事件,方法。

  先以这几天用到的datagrid组件来讲,后台的php根据条件查出数据,echo json_encode($list) 将数据以json格式传给前台。

  前台html根据name从json数据中去对应的值并展示。

  1,后台代码

  

  1. $list=M('table')->select();
  2. $total=M('table')->count();
  3.  
  4. if(!empty($list)){
  5. $results['rows'] = $list;
  6. $results['total'] = $total;
  7.    echo json_encode($results);
  8.   }

2,前台html表格语法

  1. <!--定义一个表格-->
  2. <table id="dg" title="My User" class="easyui-datagrid" style="width:700px;height:250px" toolbar='#toolbar'
  3. data-options="
                    url: '{:U('action/function')}',
                    rownumbers: true,
                    fit:true,
                    fitColumns:true,
                    singleSelect: true,
                    
                    pagination: true,
                    pageSize:10,
                    pageNumber:1,
                    pageList: [10,20],
                    showFooter: true,
                    idField: 'id',
                    onBeforeLoad: function(row,param){
                        if (!row) {    // load top level rows
                            param.id = 0;    // set id=0, indicate to load new page rows
                        }
                    }
                    
                ">
  4. <thead>
  5. <tr>
  6. <th field="firstname" width="50">First Name</th>
  7. <th field="lastname" width="50">Last Name</th>
  8. <th field="phone" width="50">Phone</th>
  9. <th field="email" width="50">Email</th>
  10. </tr>
  11. </thead>
  12. </table>
  13.  
  14.   <div id="toolbar" style="margin-top:5px;">
                    <form  method="post" action="{:U('action/function')}">
                        <table>
                            <tr>
                                <td>name:<input style="width:150px" class="easyui-validatebox" name="name" type="text" id="name" value=""  ></input></td>
  15.  
  16.                             <td>
                                  <a href="javascript:void(0)" iconCls="icon-search" class="easyui-linkbutton" onClick="doSearch()">查询</a>
                                </td>
                            </tr>
                        </table>
                    </form>
         </div>

3,batle会根据url请求数据,toolbar='#toolbar'定义了工具栏 。工具栏可以根据name进行搜索。

  搜索的js代码如下

  

  1. function doSearch(){
  2. $('#dg').datagrid('load',{
  3. name: $('#name').val(),
  4. });
  5. }

解释:点击搜索时并不是form表单进行提交。js根据节点获取输入的值。通过load方法传给后台,后台根据传过来的条件过滤数据,再返回给前台。完成搜索功能。

二,dialog组件

  1,dialog对话框组件,一般通过点击按钮选择展示与否。这点通过js改变dialog组件的closed属性值是true或false。

  js代码

  1. function editNode(id){
  2. $.ajax({
  3. type:'post',
  4. url:"__APP__/action/function",
  5. data:{id:id},
  6. success:function(data){
  7. row = eval('('+data+')');  //将后台返回的json数据格式强制转换成对象
  8. if (row){
  9. $('#dlg-form').form('clear');
  10. $('#dlg').dialog('open').dialog('setTitle','编辑');
  11. $('#dlg-form').form('load',row);
  12.  
  13. $("[name^=tuitype]").each(function(){
  14. var val=$(this).val();
  15.  
  16. if(row.tuitype.indexOf(val)>-1){
  17. $(this).attr("checked",true);
  18. }
  19. });
  20.  
  21. }else{
  22. $.messager.show({
  23. title: '出错啦!!',
  24. msg: '请选择一条'
  25. });
  26.  
  27. }
  28. }
  29. });
  30.  
  31. }

2,前台html的dialog语法

  1. <div id="dlg" class="easyui-dialog" style="width:700px;height:400px;padding:10px 20px"
  2. closed="true" buttons="#dlg-buttons">
  3. <form id="dlg-form" method="post" novalidate>
  4. <div class="fitem">
  5. <label>名称:</label>
  6. <input name="name" class="easyui-validatebox" style="width:200px;">
  7. </div>
  8. </form>
  9.    </div>

3,form加载值的方法,这样可以让form表单展示原有的值

  1. php代码:echo json_encode($list); //讲数据查询出来,并转换成json字符串传给后台
  2.  
  3. html代码:$row=eval('('+data+')'); //将接收到的数据转换成对象
  4. $('#dlg-form').form('load',row); //将数据加载到form表单。

easyui学习笔记1-(datagrid+dialog)的更多相关文章

  1. easyUI学习笔记一

    1.引用js文件 <script type="text/javascript" src = jquery-easyui/jquery.min.js> </scri ...

  2. easyUI学习笔记二

    1.  拖拉大小 <!DOCTYPE html> <html> <head> <title>easyui学习</title> <scr ...

  3. EasyUI学习笔记---Datagrid真分页

    EasyUI Datagrid组件在我看来功能还是很强大的,在我使用过程中遇到分页请求的问题困扰了一天才解决,下面我就把我遇到的问题分享一下 //datagrid数据表格渲染 $("#dg& ...

  4. EasyUI学习笔记(四)—— datagrid的使用

    一.传统的HTML表格 之前我们做表格的时候是这样写的: <table > <thead> <tr> <th>编号</th> <th& ...

  5. easyui学习笔记1—增删改操作

    最近公司要用easyui,这里自己看了官网几篇文章,遇到些问题,大多数的问题都是敲代码的时候笔误,其他有些地方确实需要注意一下,这里做些笔记. 1.在mysql中建好表之后修改id字段为递增字段,发现 ...

  6. easyUi 学习笔记 (二 ) 使用tabs 里datagridview 发送ajax请求 不访问后台的问题

    这个BUG 我花了一个半小时, 还是看不出哪里的问题,  于是就百度到这么一段话,我需要记住 <================================================= ...

  7. JQuery EasyUI学习笔记

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6690888.html  简介与准备 jQuery EasyUI 是一个基于 jQuery 的框架,集成了各种用 ...

  8. easyui学习笔记2—在行内进行表格的增删改操作

    第一篇笔记中记录了如何实现表格的增删改,那个是点击之后跳出来一个对话框然后进行的,这里是在表格本身上进行的操作,也很简单,但是这里发现一个版本问题,也可以说是兼容性问题. 1.首先我们看引用的js和c ...

  9. easyui学习笔记8—在手风琴中加载其他的页面

    在手风琴中加载其他页面和在表格中加载其他的页面有写类似的,就是请求另外一个页面显示数据. 1.先看看引用的资源文件 <link rel="stylesheet" href=& ...

随机推荐

  1. 单链表(C++实现)

    单链表的结构有多种 这里介绍的链表有头结点.有尾节点并且尾节点指向头结点 单链表的每个结点的地址存放在其直接前驱结点的指针域中.其中第一个结点没有前驱结点,因此需要一个头指针指向第一个节点,便于我们对 ...

  2. java入门了解14

    GUI 1.分类: 一.AWT(Abstract Window Toolkit):抽象窗体工具集 java.awt.*适合做简单的图像用户界面,复杂的不行,基于底层操作系统,所以不同的操作系统显示的界 ...

  3. J2EE 领域的一些技术框架结构图

    J2EE 领域的一些技术框架结构图       阿里百川,开启移动应用开发的新篇章 1.Spring 架构图 Spring 是一个开源 框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之 ...

  4. tkinter模块中常用的参数

    以下内容来自于:http://www.cnblogs.com/aland-1415/p/6849193.html(个别内容掺入了自己的重新整理) cnf={}与**kw: cnf={}这是一个默认参数 ...

  5. jenkins-小知识点

    如果想停止jenkins运行 控制面板-服务-查看本地服务-选中jenkins 1.启动类型改为手动 2.改为禁止 使用的时候,每次都改一下状态

  6. 解编码框架的比较(protobuf,thrift,Marshalling,xml)

    1.ProtoBuf 特点: 1.结构化数据存储格式 2.高效的解编码性能. 3.语言无关,平台无关,扩展性好. 4.官方支持java,c++,python三种语言. 5.性能比较好 (与之对比xml ...

  7. BEC listen and translation exercise 49

    Astronaut Sounds Alarm on Asteroids If a big asteroid with Earth's name on it were to reach us unimp ...

  8. codeforces 680D D. Bear and Tower of Cubes(dfs+贪心)

    题目链接: D. Bear and Tower of Cubes time limit per test 2 seconds memory limit per test 256 megabytes i ...

  9. leetcode 231 Power of Two(位运算)

    Given an integer, write a function to determine if it is a power of two. 题解:一次一次除2来做的话,效率低.所以使用位运算的方 ...

  10. Linux-安装ssh服务

    问题描述: 有些版本的linux系统,如Ubuntn 16 ,安装完成后缺少ssh服务, 所以putty链接会出现访问失败的情况. 解决办法: 在linux中安装ssh服务,并启动 1.安装 sudo ...