有两个版本: freeware edition, commercial edition

easyui的 datagrid 实际上是一个table, 其数据来源 通过 url属性来从后台的php页面 获得.

easyui的 类名 都是这样构成的, easyui- 的前缀, 加上 插件的名称比如 dialog, datagrid, 因此对应的类样式名就是: class="easyui-dialog" class="easyui-datagrid"

======================================================

在jquery中, 通常标识符 是字符序列: 字母和数字, 比如choices, 但是如果在字符序列中出现了 “非字符序列” , 比如 “? - _ "等,则要将这个字符序列用 引号括起来。 比如: .css({color: 'red', "background-color": '#eee'});

又比如: ajax的post传输的数据, 是一个js对象, 属性名称通常是不需要加引号的, 但是对于js的数组 (js的数组是在标识符的最后加中括号[]), 这时候就要加引号: $.post('foo.php', {name: var_name, 'choices[]': var_choices}, function(){});

= 要注意 post实际返回的数据类型, 并不是什么都写成 json的,如果 远程php文件返回的是文本或html, 不是json格式的字符串, 那么就不能写成类型为 json, 否则不会返回任何东西的。 只有确实是json格式的 才能写成json。

ajax的post传输的数据: data: {'choices[]': [true,123, 'abc']}

后台接受到的 ajax传输的数组, 总是认为是字符串, 比如这里的true,123, 都被认为是字符串

post returned is: "
array (size=2)
0 => string 'true' (length=4)
1 => string 'abc' (length=3) 注意ajax回调函数中的 status是 字符串, 不是数字, 比如‘success, error’等

========================

声明html的类型, 如果使用的是html5的话, 写法是: <!DOCTYPE html> 注意是html, 不是html5, 就是说文档类型还是html,只是标准是html5的。

  • easyui新的版本中, 允许在 标签div, a等中用 data-options="iconCls: 'icon-save'" 来定义, 这个在以前的话, 只能在js中 用 属性js对象做参数来指定的。

    而且, 在js方法中指定的 属性 要比 data-options中指定的属性的优先级要高, 会覆盖data-options指定的属性。
<script>

	$(function(){
$('#user-info').dialog({
iconCls: 'icon-search', // 这里的iconCls会覆盖前面的data-options
});
});
</script>

基本上所有的ui的操作方法都是 相通的, 使用方法都是类似的, 可以用 class来指定, 也可以用js方法来指定, 区别是: 不同的ui提供的 “内置” 事件 有的多 , 有的少, 事件越多 应该是越好的!!


为什么在js中最好要给变量以初始值?

js的类型有 number, string, boolean, function, object , undefined 六种类型, 但是如果你不给 变量 以初始值的话, 则默认的类型是 undefined, 那么这时, 对 undefined 的变量进行 算数运算, 就会 报错: “not a number NaN ”的出错提示

事实上, 对js、 php这样的 弱类型语言, 其变量类型 并不是 不 要求, 相反 反而是 时时处处 都存在 这个 类型的问题。 如果不注意, 就会引起各种各样的问题。

他们是通过 对 变量 所 赋的 值 , 来 自动判断 变量的类型的 所以 , 最好给 变量 在 使用前 赋给 一个初值, 这个既安全, 同时, 又是一个良好的 编程习惯! 比如: js中 var i = 0; var res=""; 明确给出初值来 确定其类型和 内存的分配。

  • 特别要注意, 在定义 定时器的时候, 这个定时器 会 一直执行 , 好像要等到定时器执行完成后, 才会执行 定时器语句 的后一条 语句. 所以, 要根据 某些条件来 终止 定时器的话, 应该 在 定时器的回调函数内 , 来删除 这个定时器. 而不是在外部来 删除这个定时器
<script>

	var tm;
var i=0;
tm = window.setInterval(function(){
i++;
alert(i); // 要这样在内部删, 才能删除定时器
if(i==5) {
window.clearInterval(tm); } }, 3000); // 这样做是删除不了的
if(i==5) {
window.clearInterval(tm); } </script>
  • setTimeout只执行一次, 而 setInterval 和 clearInterval是重复执行, 它们都是 全局函数, 都是 window 对象的方法, 所以 window 都可以 省略. interval 是两个单词的组成, 是 : inter + val 的意思,

  • js的事件 是指一直处于监控中, 当事件发生时 才调用 该回调 函数的. 所以 它是 on... 的写法, 表示 "当 ...的时候" 相当于 一个 "伺服" "监视/等待"的机制, 所以执行的是 "回调函数"

    而 方法是 马上就要 明确执行的, 是立马就要执行的,

    easyui 的 所有的方法 都是 用 该 "插件名称" 来调用的, 比如 disalbe方法, 就是 : $('drp'). droppable('disable'); 注意 方法名称 参数 要用 字符串 ,加 引号.

### 虽然 panel和 window都有 标题栏和内容区, 但是 在 eu中 window窗口和panel的区别 是非常 明显的, window是窗口, 是要弹出来的,脱离document文档页面的,是另一个单独的窗口, 而panel面板是嵌入在 document 页面中的, 所以像 tabs 或 accordion 都是 从 panel继承过来的.

  • 注意区分 draggable 和 droppable:

  • draggable是 指某个 div是可以拖动的(可移动到div区域), 是这个div 所在的矩形框 可以拖动, 实际上是把这个 div的css设置成 position:absolute了... 事实上, 它本身并没有 title 这样的属性, 但是你可以模拟这样的title区域: 在 具有 easyui-draggable 样式的 div中, 包含一个 id="title" 的div, 然后设置 easyui-draggable的div的 data-options="handle: '#title'" 这样的属性即可.

  • 而 droppable 是指可以接收其他元素 放进来的 容器 元素?

========================================

接fetchSql?

  • fetchSql 连贯操作, 是用于获取sql语句, 而不是让数据表操作真正执行. 可以用于 任何的 curd操作,比如: $user = M('user'); $user-> fetchSql(true)-> find(1); 输出 返回的 sql语句字符串就是: select * from think_user where id=1

  • cache缓存, 可以单独使用, 也可以作为连贯用法使用, 使用 缓存的好处是, 在 缓存有效期之内, 不会再次进行 数据库的查询操作, 而是直接 获取 缓存中 存取的数据.

  • distinct(true/false) 也是 连贯操作 $user ->distinct(true) -> select(); , 制定是否进行 "唯一性 过滤" 操作. 相当于在 select的语句中加上 distinct的关键字.

  • 定义一个字段的时候, 要指定 三个部分: 字段名 字段类型 [字段约束] 关于字段约束就是 对这个字段的额外 补充和说明等, 比如 : primary key, auto_increment, not null, default默认值等等.

jquery easyui的应用-2的更多相关文章

  1. 套用JQuery EasyUI列表显示数据、分页、查询

    声明,本博客从csdn搬到cnblogs博客园了,以前的csdn不再更新,朋友们可以到这儿来找我的文章,更多的文章会发表,谢谢关注! 有时候闲的无聊,看到extjs那么肥大,真想把自己的项目改了,最近 ...

  2. Jquery EasyUI 开发实录

    有好几年没有用过EasyUI了,最近在外包做的一个项目中新增功能时,又用到了,本以为和按照以前那样用就可以了,可当我真正用的时候,发现许多地方不一样了,就连官网的文档都更新了,最突出的就是不知道什么时 ...

  3. jQuery UI与jQuery easyUI的冲突解决办法

    jQuery UI与jQuery easyUI都是基于jQuery开发的.难免里面会有些方法名冲突! 因此对jQuery.easyui其中的两个方法名:resizable 和 draggable进行替 ...

  4. jquery easyui 动态绑定数据列

    function doSearch2() { var strsql = $('#sssql').val(); $.ajax({ url: "../HttpHandler/DownloadHa ...

  5. jquery easyui使用(四)······添加,编辑,删除

    前端: <div style="font-size: 25px; font-weight: 700; margin: 50px 0 10px 10px;"> 车辆登记 ...

  6. jquery easyui使用(二)······可折叠面板动态加载无效果

    先上代码: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"& ...

  7. jquery easyui使用(一)······可折叠面板的布局,手风琴

    <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> &l ...

  8. jquery easyui菜单树显示

    目前做了一个easyui项目需要显示多级菜单,菜单配置到数据库中,因此每级菜单都需要到数据库中取,用了jQuery EasyUI方便多了. 效果体验:http://hovertree.com/texi ...

  9. 第 1 章 jQuery EasyUI 入门

    学习要点: 1.什么是 jQuery EasyUI 2.学习 jQuery EasyUI 的条件 3.jQuery EasyUI 的功能和优势 4.其他的 UI 插件 5.是否兼容低版本 IE 6.下 ...

  10. 【夯实PHP基础系列】JQuery easyUI的使用

    最近在做一个公司的后台项目中,接触到 JQuery easyUI前端框架,被她简洁的代码和简单有效的ajax交互所深深吸引. 体会有以下3个方面: 1)快速创建表格的能力: 后端程序,比如PHP只需要 ...

随机推荐

  1. poj 3126 Prime Path(搜索专题)

    Prime Path Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 20237   Accepted: 11282 Desc ...

  2. mybatis05--多条件的查询

    public interface StudentDao { /** * 前台的表单给出的查询条件不能封装成一个对象的时候 * 查询只能是多个参数了! 也就是参数不全是Student中的属性! * 这时 ...

  3. WINDOWS自带md5校验工具

    WINDOWS自带的工具certutil.exe,   certutil -hashfile chropp.exe MD5; 就可以了

  4. 剑指offer——python【第15题】反转链表

    题目描述 翻转一个链表 样例:给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null 思路 一种比较简单的方法是用“摘除法”.就是先新 ...

  5. 2016ACM/ICPC亚洲区沈阳站 - A/B/C/E/G/H/I - (Undone)

    链接:传送门 A - Thickest Burger - [签到水题] ACM ICPC is launching a thick burger. The thickness (or the heig ...

  6. 在CentOS 7.6上安装VNC Server

    停止并禁用防火墙 systemctl stop firewalld.service systemctl disable firewalld.service 安装vnxserver yum instal ...

  7. InnoDB中锁的模式

    Ⅰ.总览 S行级共享锁 lock in share mode X行级排它锁 增删改 IS意向共享锁 IX意向排他锁 AI自增锁 Ⅱ.锁之间的兼容性 兼 X IX S IS X × × × × IX × ...

  8. sql中遍历字符串

    在sql或者存储过程中会需要遍历字符串. ), --如111,222,333,尾部加, ), @Id int, ) set @split = ',' ) begin ,) ,charindex(@sp ...

  9. 海思编解码芯片添加64M nor flash

    uboot和内核都必须修改. struct spi_info hisfc350_spi_info_table[] : 在结构体里面添加自己的flash节点,我这里用的是MX66LS51235E { & ...

  10. Spark MLlib之使用Breeze操作矩阵向量

    在使用Breeze 库时,需要导入相关包: import breeze.linalg._ import breeze.numerics._ Breeze创建函数 //全0矩阵 DenseMatrix. ...