• jquery easyui的应用-2


    有两个版本: 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默认值等等.

  • 相关阅读:
    oracle创建表空间、用户 导入dmp文件
    input中只允许输入数字
    hibernate 中 Criteria 的使用介绍
    将json字符串,转换为对象实体
    unity 修改快捷键的方法 (Ubuntu 12.10)
    openjms的使用 下载、安装、启动、使用、点对点代码demo
    OGNL在页面上的常见11种用法
    jms原理简介网摘
    java中对象转换为json
    Luence初始与简单应用Document的增删改查.
  • 原文地址:https://www.cnblogs.com/bkylee/p/9844178.html
Copyright © 2020-2023  润新知