easyui学习笔记1-(datagrid+dialog)
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)的更多相关文章
- easyUI学习笔记一
1.引用js文件 <script type="text/javascript" src = jquery-easyui/jquery.min.js> </scri ...
- easyUI学习笔记二
1. 拖拉大小 <!DOCTYPE html> <html> <head> <title>easyui学习</title> <scr ...
- EasyUI学习笔记---Datagrid真分页
EasyUI Datagrid组件在我看来功能还是很强大的,在我使用过程中遇到分页请求的问题困扰了一天才解决,下面我就把我遇到的问题分享一下 //datagrid数据表格渲染 $("#dg& ...
- EasyUI学习笔记(四)—— datagrid的使用
一.传统的HTML表格 之前我们做表格的时候是这样写的: <table > <thead> <tr> <th>编号</th> <th& ...
- easyui学习笔记1—增删改操作
最近公司要用easyui,这里自己看了官网几篇文章,遇到些问题,大多数的问题都是敲代码的时候笔误,其他有些地方确实需要注意一下,这里做些笔记. 1.在mysql中建好表之后修改id字段为递增字段,发现 ...
- easyUi 学习笔记 (二 ) 使用tabs 里datagridview 发送ajax请求 不访问后台的问题
这个BUG 我花了一个半小时, 还是看不出哪里的问题, 于是就百度到这么一段话,我需要记住 <================================================= ...
- JQuery EasyUI学习笔记
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6690888.html 简介与准备 jQuery EasyUI 是一个基于 jQuery 的框架,集成了各种用 ...
- easyui学习笔记2—在行内进行表格的增删改操作
第一篇笔记中记录了如何实现表格的增删改,那个是点击之后跳出来一个对话框然后进行的,这里是在表格本身上进行的操作,也很简单,但是这里发现一个版本问题,也可以说是兼容性问题. 1.首先我们看引用的js和c ...
- easyui学习笔记8—在手风琴中加载其他的页面
在手风琴中加载其他页面和在表格中加载其他的页面有写类似的,就是请求另外一个页面显示数据. 1.先看看引用的资源文件 <link rel="stylesheet" href=& ...
随机推荐
- LINQ 学习路程 -- 查询语法 LINQ Query Syntax
1.查询语法 Query Syntax: from <range variable> in <IEnumerable<T> or IQueryable<T> ...
- Memory Layout (Virtual address space of a C process)
Memory Layout (Virtual address space of a C process) 分类: C语言基础2012-12-06 23:16 2174人阅读 评论(0) 收藏 举报 f ...
- virtualbox 相关操作
关闭 vboxmanage controlvm nenew poweroff 打开,后台运行 vboxmanage startvm centos0 --type headless 复制虚拟机镜像VBo ...
- BZOJ 3890 [Usaco2015 Jan]Meeting Time:拓扑图dp
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3890 题意: 给你一个有向图,n个点(n <= 100),m条边. 且所有的边都是从 ...
- pow,sqrt使用时需注意
使用时注意类型,可见两者皆不可以用int 1.pow 函数声明: double pow (double base , double exponent); float pow (float base , ...
- Oracle--存储过程和自定义函数
一.相关概念 1.存储过程和存储函数 ~指存储在数据库中供所有用户程序调用的子程序 ~存储过程和存储函数的相同点:完成特定功能的程序 ~存储过程和存储函数区别:是否用return语句返回值 2.创建和 ...
- 【leetcode刷题笔记】Best Time to Buy and Sell Stock III
Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...
- C++ 播放音频流(PCM裸流)
直接上代码,如果有需要可以直接建一个win32控制台程序然后将代码拷过去改个文件名就可以用了(注意将声道和频率与你自己的文件对应哦).当然我自己也用VS2008(VS2013好用太多,强烈推荐还是用V ...
- APIO2017商旅
传送门(PDF) 题目大意:有$N$个点,$M$条有向边,$K$种物品,在不同的点可以用不同的价格买入或卖出某一种商品. 任意时刻至多持有一种物品,不能在同一个点先买再卖,求收益与长度之比最大的点数$ ...
- ACM学习历程—HDU5585 Numbers(数论 || 大数)(BestCoder Round #64 (div.2) 1001)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5585 题目大意就是求大数是否能被2,3,5整除. 我直接上了Java大数,不过可以对末尾来判断2和5, ...