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,后台代码

  

            $list=M('table')->select();
$total=M('table')->count(); if(!empty($list)){
$results['rows'] = $list;
$results['total'] = $total;
   echo json_encode($results);
  }

2,前台html表格语法

    <!--定义一个表格-->
<table id="dg" title="My User" class="easyui-datagrid" style="width:700px;height:250px" toolbar='#toolbar'
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
                    }
                }
                
            ">
<thead>
<tr>
<th field="firstname" width="50">First Name</th>
<th field="lastname" width="50">Last Name</th>
<th field="phone" width="50">Phone</th>
<th field="email" width="50">Email</th>
</tr>
</thead>
</table>   <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>                             <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代码如下

  

    function doSearch(){
$('#dg').datagrid('load',{
name: $('#name').val(),
});
}

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

二,dialog组件

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

  js代码

function editNode(id){
$.ajax({
type:'post',
url:"__APP__/action/function",
data:{id:id},
success:function(data){
row = eval('('+data+')');  //将后台返回的json数据格式强制转换成对象
if (row){
$('#dlg-form').form('clear');
$('#dlg').dialog('open').dialog('setTitle','编辑');
$('#dlg-form').form('load',row); $("[name^=tuitype]").each(function(){
var val=$(this).val(); if(row.tuitype.indexOf(val)>-1){
$(this).attr("checked",true);
}
}); }else{
$.messager.show({
title: '出错啦!!',
msg: '请选择一条'
}); }
}
}); }

2,前台html的dialog语法

        <div id="dlg"     class="easyui-dialog" style="width:700px;height:400px;padding:10px 20px"
closed="true" buttons="#dlg-buttons">
<form id="dlg-form" method="post" novalidate>
<div class="fitem">
<label>名称:</label>
<input name="name" class="easyui-validatebox" style="width:200px;">
</div>
</form>
   </div>

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

php代码:echo json_encode($list);    //讲数据查询出来,并转换成json字符串传给后台

html代码:$row=eval('('+data+')');    //将接收到的数据转换成对象
$('#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. sqlserver 2008 创建数据库的时候不是空库,里面总有数据的解决办法

    SqlServer2008 里面有个系统数据库 Model 数据库,在创建新数据库的时候,会以它为模板创建,所以如果发现你的Model数据库比较大,说明里面有很多模板数据.此时如果需要去创建没有数据的 ...

  2. 大话设计模式--外观模式 Facade -- C++实现实例

    1.  外观模式: 为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这个子系统更加容易使用. 外观模式的使用场合: A: 设计初期阶段,应该要有意识的将不同的两个层分离. ...

  3. Oracle的select检索数据

    --Select语法 select [distinct | All] select_list from table_list [where_clause] [group_by_clause] [Hav ...

  4. 如何设置minSdkVersion和targetSdkVersion

    转http://www.07net01.com/2015/07/878098.html minSdkversion和targetSdkVersion相信很多人都不太理解,我在网上也看了许多关于这两者区 ...

  5. NET 平台下的WebService 简单使用

    一句话理解:提供可供外部访问的方法,实现跨平台访问 注意: 在客户端是添加“服务引用”,而不是引用 当服务端更新了服务之后,在客户端,一定也要“更新服务” 当要执行异常调用时,要在前台.aspx的头部 ...

  6. Git教程(二)-如何上传和同步自己的git项目

    本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! Git接触并使用多年, 工作中使用较多,它的分布式存储,使每个人的电脑均为服务器的策略非常棒:再加上 ...

  7. MessFormat的简单使用

    MessageFormat用法java.text.MessageFormat 作用:MessageFormat 获取一组对象,格式化这些对象,然后将格式化后的字符串插入到模式中的适当位置. Messa ...

  8. 关于对H264码流的PS的封装的相关代码实现

    1.写在开始之前: 最近因为新工作要维护别人留下的GB模块代码,先熟悉了流程,然后也试着封装了下ps流,结果也能通过测试正常预览了,当然,其中开发读文档的头疼,预览花屏,卡帧的事情都有遇到,当时慢慢的 ...

  9. Linux上用nginx搭建RTMP服务器

    参考文章:https://obsproject.com/forum/resources/how-to-set-up-your-own-private-rtmp-server-using-nginx.5 ...

  10. [POI 2018] Plan Metra

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=5100 [算法] 首先分两类考虑 : 1. 1 -> N的路径不经过其它节点 , ...