2019独角兽企业重金招聘Python工程师标准>>> hot3.png

src:http://lhdst-163-com.iteye.com/blog/1707232

1、dialog

Java代码   收藏代码
  1. $("#dialog-form").dialog({
  2. title : "任務",
  3. width : 500,
  4. resizable : false,
  5. cache: false,  //禁止缓存
  6. href: '/Admin/Project/videoPlayer',//加载的页面地址
  7. closed: false,//默认不弹出
  8. modal : true,//模式化窗口
  9. shadow:false,//是否显示隐藏。若dialog的宽高是动态变化的,shadow不会自动更新。这种情况下最好设置为false。否则要手动处理
  10. buttons : [{
  11. text : 'Save',
  12. handler : saveTask
  13. }, {
  14. text : 'Cancel',
  15. handler : resetDialog
  16. }]
  17. });
  18. $('#dialog-form').dialog('close');//关闭
  19. $('#dialog-form').dialog('open');//打开

不顯示默認的close按鈕

Java代码   收藏代码
  1. closable:false,

提示:dialog繼承自window,所以window的屬性設置dialog也可以用。 
2、draggable 
缺点:不能设置拖动范围。即使包含在一个div的container下,但是依然可以无限制拖动。而jquery ui能实现该功能。所以jquery easyui的draggable需要手动判断实现该功能。

Java代码   收藏代码
  1. //拖动效果
  2. container.draggable({
  3. containment : "#grid",//父容器
  4. scroll : false,
  5. delay : 0,
  6. isDrag : true,
  7. onStopDrag:function(e){
  8. //获取拖动div容器  控制拖动范围
  9. var dragContainer = $(".taskSelected").parent().parent();
  10. var left = parseInt(dragContainer.css("left"));
  11. var top = parseInt(dragContainer.css("top"));
  12. if(isNaN(left) || left < 10 ){
  13. dragContainer.css("left","10px")
  14. }
  15. if(isNaN(top) || top < 10 ){
  16. dragContainer.css("top","10px")
  17. }
  18. var maxLeft = parseInt($("#grid").css("width"));
  19. var maxTop = parseInt($("#grid").css("height"));
  20. if(left >=  maxLeft){
  21. dragContainer.css("left",(maxLeft-60)+"px");
  22. }
  23. if(top >= maxTop ){
  24. dragContainer.css("top",(maxTop-60)+"px");
  25. }
  26. }
  27. });

3、validate 
整个form的验证结果 
$("#taskForm").form('validate') 
文本验证

Java代码   收藏代码
  1. <input type="text" name="taskName" id="taskName" validType="validateText"  required="true"  class="easyui-validatebox" />

删除验证提示

Java代码   收藏代码
  1. $(".easyui-validatebox").removeClass("validatebox-invalid");//删除验证提示

删除验证

Java代码   收藏代码
  1. $("#modelName").validatebox("destroy");

扩展验证

Java代码   收藏代码
  1. $.extend($.fn.validatebox.defaults.rules, {
  2. equals: {
  3. validator: function(value){
  4. return value > 0;
  5. },
  6. message: '數據不正確,請重新輸入'
  7. }
  8. //数字验证应用扩展验证规则
  9. <input name="test"  max="9999.99" precision="2" invalidMessage="不能超過6位數字"
  10. value="{$printDetailsBSig}" validType="equals[]"  class="sig easyui-numberbox" />
  11. });
Java代码   收藏代码
  1. $(document).ready(function(){
  2. $.extend($.fn.validatebox.defaults.rules, {
  3. userID: {
  4. validator: function(value){
  5. var reg = /^[a-zA-Z_0-9]+$/
  6. return reg.test(value);
  7. },
  8. message: '登錄名必須為字符[A-Z]或數字'
  9. }
  10. });
  11. $.extend($.fn.validatebox.defaults.rules, {
  12. validateText: {
  13. validator: function(value){
  14. var reg = /[<>]+/
  15. return !reg.test(value);
  16. },
  17. message: '不能含有特殊字符<>'
  18. }
  19. });
  20. $.extend($.fn.validatebox.defaults.rules, {
  21. number: {
  22. validator: function(value){
  23. var reg = /^[0-9]+$/
  24. return reg.test(value);
  25. },
  26. message: '此項必須為數字'
  27. }
  28. });
  29. $.extend($.fn.validatebox.defaults.rules, {
  30. areaCode : {
  31. validator: function(value){
  32. var reg = /^0\d{0,4}$/
  33. return reg.test(value);
  34. },
  35. message: '此項必須為1-4位數字'
  36. }
  37. }); //Extension number
  38. $.extend($.fn.validatebox.defaults.rules, {
  39. tel : {
  40. validator: function(value){
  41. var reg = /^[0-9]{0,8}$/
  42. return reg.test(value);
  43. },
  44. message: '此項必須為1-8位數字'
  45. }
  46. });
  47. $.extend($.fn.validatebox.defaults.rules, {
  48. extensionNumber : {
  49. validator: function(value){
  50. var reg = /^[0-9]{0,5}$/
  51. return reg.test(value);
  52. },
  53. message: '此項必須為1-5位數字'
  54. }
  55. });
  56. $.extend($.fn.validatebox.defaults.rules, {
  57. date: {
  58. validator: function(value){
  59. var reg = /^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$/
  60. return reg.test(value);
  61. },
  62. message: '此項必須為yyyy-mm-dd格式的日期'
  63. }
  64. });
  65. $.extend($.fn.validatebox.defaults.rules, {
  66. account: {
  67. validator: function(value){
  68. var reg = /^[A-Z_0-9]+$/
  69. return reg.test(value);
  70. },
  71. message: 'Account 只能輸入大写字母'
  72. }
  73. $.extend($.fn.validatebox.defaults.rules, {
  74. modelName: {
  75. validator: function(value){
  76. var reg = /^[a-zA-Z_0-9]+$/
  77. return reg.test(value);
  78. },
  79. message: 'Model Name必須為字符[A-Z]或數字'
  80. }
  81. });
  82. });
  83. });

4、格式化日期

Java代码   收藏代码
  1. $("#startDate,#endDate").datebox({
  2. formatter:formater
  3. });
  4. //格式化日期
  5. function formater(date)
  6. {
  7. return date.getFullYear()+"-"+(parseInt(date.getMonth())+1) +"-"+date.getDate();
  8. }
  9. <input name="startDate" id="startDate" class="easyui-datebox" /> to
  10. <input name="endDate" id="endDate" class="easyui-datebox" />
  11. //日期控件只读
  12. $(".datebox :text").attr("readonly","readonly");

碰到一个问题,页面初始化时给一个datebox赋值,赋值是成功的,页面显示了这个值,也能将这个值赋给一个变量。但是在post form的时候这个datebox的getvalue是空的,查看html的值也是空的。但是给个延时50毫秒,html就有值了。很奇怪啊

5、TAB 
div初始化

Java代码   收藏代码
  1. <div id="tt" class="easyui-tabs" data-options="tools:'#tab-tools'" style="width:700px;height:250px;">
  2. <div title="Tab1" data-options="tools:'#p-tools'" style="padding:20px;">
  3. </div>
  4. <div title="Tab2" data-options="closable:true,cache:false,href:'tabs_href_test.html'" style="padding:20px;">
  5. This is Tab2 with close button.
  6. </div>
  7. </div>

选择指定index的tab

Java代码   收藏代码
  1. $("#tt").tabs('select',2);

禁用TAB

Java代码   收藏代码
  1. $('#tt').tabs('disableTab'1);
  2. $('#tt').tabs('enableTab'1);  // enable the second tab panel
  3. $('#tt').tabs('enableTab''Tab2'); enable the tab panel that has 'Tab2' title

获取当前tab

Java代码   收藏代码
  1. var tab = $('#tt').tabs('getSelected');
  2. var index = $('#tt').tabs('getTabIndex',tab);

切换tab时验证。若验证不通过则禁止切换

Java代码   收藏代码
  1. $("ul.tabs li").bind("mousedown", function(event) {
  2. var currTabIndex = getCurrTabIndex();
  3. var index = $(this).index();
  4. if (currTabIndex == index)
  5. return;
  6. var targetIndex = (currTabIndex == 1) ? 0 : 1;
  7. var valid1 = $("#tabs").find(".validatebox-invalid").length;
  8. if (valid1) {
  9. showTip("請填寫完整!");
  10. //禁用要切换的tab再启用。这样就可以禁止tab的onSelect事件,并且样式还是正常的enable。
  11. $('#tabs').tabs('disableTab', targetIndex);
  12. $('#tabs').tabs('enableTab', targetIndex);
  13. else {
  14. if (targetIndex == 1) {
  15. var valid2 = checkMemberValid();
  16. if (!valid2) {
  17. $('#tabs').tabs('disableTab', targetIndex);
  18. }
  19. }
  20. $('#tabs').tabs('enableTab', targetIndex);
  21. }
  22. })

tab的内容是html

Java代码   收藏代码
  1. <div id="tabs" class="easyui-tabs">
  2. <div title="Project Info" data-options="closable:false,cache:false,href:'/Admin/Project/editProject/projectID/{$projectID}'" style="padding:20px;">
  3. </div>
  4. <div title="Videos" data-options="closable:false,cache:false,href:'/Admin/Project/editVideo/projectID/{$projectID}'" style="padding:20px;">
  5. </div>
  6. </div>

若是这种内置方式,则内置的html的js文件必须放在主页面内。否则不会调用。相当于用get方式将该html的内容嵌套到主页面中。而不会加载对应的js和css文件。

在tab加载完内容之后执行初始化函数 
$("#tabs").tabs({ 
onLoad:function(i){ 
console.log(i); 
initProject();//初始化editProject页面 

})

这种方式的优点:由于嵌套的内容是div,所以内容的高度增加或减少后会自动调整div的高度。 
缺点: 
1 若2个tab都包含了datebox元素,第2个tab的datebox的宽度会被设置为0.不知道什么原因。只能通过css强制更改对应的宽度。

代码如下

Java代码   收藏代码
  1. /**jquery easy ui datebox**/
  2. .datebox {
  3. width:126px !important;
  4. }
  5. .datebox .combo-text {
  6. width:108px !important;
  7. }

2 初始化的时候以下代码执行了2次

Java代码   收藏代码
  1. $("#tabs").tabs({
  2. onLoad:function(i){
  3. console.log(i);
  4. initProject();//初始化editProject页面
  5. }
  6. })

这个原因是因为我在div中添加了tab的class,easyui会初始化一次,定义了tabs函数又会执行一次。将div的class删除掉就可以了。 
如下

Java代码   收藏代码
  1. <div id="tabs" style="min-height:400px;height:650px; overflow: hidden;">
  2. <div title="Project Info" data-options="closable:false,cache:false,href:'/Admin/Project/editProject/projectID/{$projectID}'" style="padding:0px;width:100%;height100%;">
  3. <!-- <iframe scrolling="no" id="editProjectFrame" frameborder="0"  src="/Admin/Project/editProject/projectID/{$projectID}" style="width:100%;height:600px;"></iframe>-->
  4. </div>
  5. <div title="Videos" data-options="closable:false,cache:false" style="padding:0px;height: 100%;">
  6. <iframe scrolling="no" id="editVideoFrame" frameborder="0"  src="/Admin/Project/editVideo/projectID/{$projectID}" style="width:100%;height:100%;"></iframe>
  7. </div>
  8. </div>

设置tab的内容是iframe

Java代码   收藏代码
  1. <div title="Tab4 with iframe" data-options="closable:true" style="overflow:hidden">
  2. <iframe scrolling="yes" frameborder="0"  src="http://www.jeasyui.com/forum/index.php" style="width:100%;height:100%;"></iframe>
  3. </div>

这种方式是将整个html文件嵌入,包括了html,js,css 而不只是html内容。

这种方式的优点:用iframe是独立的页面,若已经实现了该页面,基本上不用怎么修改代码。

缺点:若iframe中的内容高度是动态的,则需要动态调整父窗口的iframe的高度。否则看不到动态新增的内容。 
代码如下

Java代码   收藏代码
  1. var iframe = $(window.parent.document).find("#editProjectFrame").eq(0);
  2. $(iframe).css("height",parseInt($(iframe).css("height").substring(0,3)) + 30 + "px");

tabs的参考资料: 
http://www.easyui.info/archives/164.html 
http://www.easyui.info/archives/501.html

卸载控件

Java代码   收藏代码
  1. currTr.find(".memberList").combobox("destroy");

所有都是destroy方法。

6 datetimebox 
datetimebox不像datebox,它没有formate方法可以设置日期格式。只能通过导入locale语言包。来更改日期时间格式。

若要修改它的格式又要保持繁體。就需要導入zh_TW的js包,並將zh_CN的

Java代码   收藏代码
  1. $.fn.datebox.defaults.formatter = function(date){
  2. var y = date.getFullYear();
  3. var m = date.getMonth()+1;
  4. var d = date.getDate();
  5. return y+'-'+(m<10?('0'+m):m)+'-'+(d<10?('0'+d):d);
  6. };
  7. $.fn.datebox.defaults.parser = function(s){
  8. if (!s) return new Date();
  9. var ss = s.split('-');
  10. var y = parseInt(ss[0],10);
  11. var m = parseInt(ss[1],10);
  12. var d = parseInt(ss[2],10);
  13. if (!isNaN(y) && !isNaN(m) && !isNaN(d)){
  14. return new Date(y,m-1,d);
  15. else {
  16. return new Date();
  17. }
  18. };

考入對應的位置。

如設置datetimebox為只讀,也同樣是設置 
$(".datebox :text").attr("readonly","readonly"); 
而不是.datetimebox

showSeconds="false" 設置不顯示毫秒

setValue()設置日期

getValue()取得日期

datetimebox也有onSelet 事件,选择某个日期时就会触发。当在onSelect中将datetimebox 的值设置为'',再点击的时候存储的值是当前日期。

7. combobox 
Defines how to load list data when text changed. Set to 'remote' if the combobox loads from server. When set to 'remote' mode, what the user types will be sent as the http request parameter named 'q' to server to retrieve the new data.

若是remote請求,則會默認帶一個q的request參數。無法更改成其他類型。

参考: 
http://www.jeasyui.com/documentation/index.php#

分享到:   
adobe creative suite extension builder扩 ... |  javascript浮点运算偏差的成因及解决方法
  • 2012-10-29 12:32
  • 浏览 5416
  • 评论(0)
  • 分类:Web前端
  • 相关推荐

转载于:https://my.oschina.net/xiaohelong/blog/366842

jquery easyui 操作总结相关推荐

  1. 给Jquery easyui 的datagrid 每行增加操作链接(转载)

    转自:http://www.thinkphp.cn/code/207.html 通过formatter方法给Jquery easyui 的datagrid 每行增加操作链接 我们都知道Jquery的E ...

  2. 给Jquery easyui 的datagrid 每行增加操作链接(转)

    http://www.thinkphp.cn/code/207.html 通过formatter方法给Jquery easyui 的datagrid 每行增加操作链接 我们都知道Jquery的Easy ...

  3. JQuery EasyUI的常用组件

    jQuery EasyUI 是一个基于 jQuery 的框架,集成了各种用户界面插件,该框架提供了创建网页所需的一切,帮助您轻松建立站点. 注:本次介绍的JQuery EasyUI版本为1.5版. 一 ...

  4. 《jQuery EasyUI开发指南》——10.4 迭代开发

    本节书摘来自异步社区<jQuery EasyUI开发指南>一书中的第10章,第10.4节,作者:王波著,更多章节内容可以访问云栖社区"异步社区"公众号查看 10.4 迭 ...

  5. jquery easyui 动态绑定数据列

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

  6. 富有客户端技术之——jQuery EasyUI

    在B/S开发中页面制作涉及HTML.CSS.javascript等技术,我们随掌握相关技术,但实际开发中页面美化特别是样式设计一直困扰着我们.怎样更好.更快的设计美观.专业.时代性的页面呢?JQuer ...

  7. 第一百九十九节,jQuery EasyUI,Panel(面板)组件

    jQuery EasyUI,Panel(面板)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解EasyUI中Panel(面板)组件的使用方法,这个组件不依赖于其 ...

  8. 使用Jquery+EasyUI进行框架项目开发案例解说之中的一个---员工管理源代码分享

    使用Jquery+EasyUI 进行框架项目开发案例解说之中的一个 员工管理源代码分享 在開始解说之前,我们先来看一下什么是Jquery EasyUI?jQuery EasyUI是一组基于jQuery ...

  9. jquery easyUi简单介绍

    jquery easyui 下称(ui)适合一个网站后台的快速搭建,给我们开发人员节约了很多的时间,下面,对于操作,下面进行详细的介绍下: 首先下载ui包,下载地址http://www.jeasyui ...

最新文章

  1. nginx lua 安装spdy
  2. java字符串逐个分解_改进JAVA字符串分解的方法
  3. jmetter持续时间_Jmeter常用线程组设置及场景运行时间计算
  4. web前端培训分享Electron之IPC 通信
  5. python语法笔记(五)
  6. python标准输入_Python 处理标准输入
  7. oracle12 快照保存时间,【AWR】调整AWR数据采样时间间隔及历史快照保留时间
  8. 100例Python代码带你从入门到进阶!
  9. 投资一个五星级酒店需要多钱?多长时间能回本?
  10. 五笔字型初学者常见问题答疑
  11. 用 Python 发电子邮件
  12. UE4 Async Loading Screen真异步加载插件使用傻瓜式教程
  13. Google Drive(谷歌网盘)下载超大文件方法
  14. 杨辉三角与二项式定理
  15. Python与金融:为什么将Python用于金融
  16. Mac应用无法打开或文件损坏的处理方法
  17. 手握多样算力,从容面对下一代互联网的百样创新
  18. c语言中如何输入log函数,在C语言中使用对数函数的方法
  19. 某软件平台定制开发项目技术标书
  20. 华为一面面试经历(硬件技术工程师逻辑)

热门文章

  1. 《高性能javascript》读书笔记
  2. web网页获取,cookie 的管理,post和get方式的模拟。
  3. 在Tomcat上挂载预下载文件的方法
  4. MyBatis框架学习DAY_01:概念/创建运行流程
  5. java以太网通讯西门子plc300_西门子300以太网通讯-工业支持中心-西门子中国
  6. antv g2字体阴影_antv g2的理解总结
  7. python反射机制_详解python之反射机制
  8. Xamarin.FormsShell基础教程(6)Shell项目内容详情页面
  9. UGUI的优点新UI系统
  10. Unity 4.x 2D游戏开发基础教程