jQuery LigerUI 使用教程入门篇

  获取最新代码

  可以到http://ligerui.googlecode.com下载最新代码。

  简介

  jQuery LigerUI 是基于jQuery的一系列UI控件组合,简单而又强大,致力于快速打造Web前端界面解决方案。 因为是前端控件,跟服务器无关,可以适合.net,jsp,php等等web服务器环境。目前全部插件的打包压缩JS只有100K左右,很轻巧。使用插件式的开发模式,以“简单”为原则的设计,每个插件尽量独立,并可依赖拓展。

  ligerUI是什么

  jQuery LigerUI控件丰富,包括基础、导航、布局、表单、表格、树形、窗口等

  基础:Resizable、Drag、Tip

  导航:Menu、MenuBar、ToolBar

  布局:Layout、Tab

  表单:Form、TextBox、Button、CheckBox、ComboBox、DateEditor、Radio、Spinner

  表格:Grid

  树形:Tree

  窗口:Dialog、MessageBox、Window

  回到顶部

  如何使用

  jQuery LigerUI是基于jQuery而设计的一系列插件集合。基本上每个插件都是相对独立的。但是彼此之间又紧密地关联着,合理地对插件进行组装,实现出现各种复杂的功能。 使用UI可以帮助你快速地创建友好的用户界面。

  第一个例子

  

复制代码 代码如下:

  <head>

  <title></title>

  <link href="http://www.cnblogs.com/lib/ligerUI/skins/Aqua/css/ligerui-all.css" rel="stylesheet" type="text/css" />

  <script src="http://www.cnblogs.com/lib/jquery/jquery-1.3.2.min.js" type="text/javascript"></script>

  <script src="http://www.cnblogs.com/lib/ligerUI/js/core/base.js" type="text/javascript"></script>

  <script src="http://www.cnblogs.com/lib/ligerUI/js/plugins/ligerTextBox.js" type="text/javascript"></script>

  <script type="text/javascript">

  $(function ()

  {

  //我们将一个html文本框对象转换成ligerui文本框对象,并返回ligerui对象

  var g = $("#txt1").ligerTextBox(

  {

  //如果没有输入时,会提示不能为空

  nullText: '不能为空'

  });

  /*

  如何获取属性

  */

  //方式一

  alert('方式一:' + g.get('disabled'));

  //方式二

  alert('方式二:' + $("#txt1").ligerTextBox('option', 'disabled'));

  /*

  如何设置属性

  */

  //方式一

  g.set('disabled', true);

  //方式二

  $("#txt1").ligerTextBox('option', 'disabled', false);

  /*

  如何调用方法

  */

  //方式一

  g.setDisabled();

  //方式二

  $("#txt1").ligerTextBox('setEnabled');

  /*

  如何设置事件

  */

  //这里给文本框绑定一个改变值的事件

  //也可以设置onChangeValue参数

  g.bind('changeValue', function (value)

  {

  alert(value);

  });

  });

  </script>

  </head>

  <body style="padding:10px">

  <input type="text" id="txt1" value="" style="width:200px"/>

  </body>

  更多的参数和方法的设置可以查看API:http://www.ligerui.com/api/

  上面是TextBox的使用范例,其他的插件使用方式类似。

  如何使用ligerUI对象

  我们应用完插件以后,是返回一个ligerui对象的,可以把这个对象保存在一个全局的变量里面。在后续的操作中可能会用到。如果因为变量作用域的限制等,没有及时保存起来。我们可以用其他方式获取。见如下:

  保存到一个全局的javascript变量:

  

复制代码 代码如下:

  var g;

  $(function ()

  {

  g = $("#txt1").ligerTextBox();

  );

  使用$.fn.ligerGetTextBoxManager

  

复制代码 代码如下:

  var g = $("#txt1").ligerGetTextBoxManager ();

  使用$.ligerui.get方法

  

复制代码 代码如下:

  var g = $.ligerui.get('txt1');

  第三个方式的是使用ligerui对象的id直接获取的,在传入参数没有指定id的情况下,对象的id将会使用html元素的id,如果html元素没有id,将会自动生成一个。所以在这里我们可以用html文本框的id来获取。

  如果没有指定html元素的id,可以用第一种方式或者第二种方式。

  其实第二种方式可以用第一种方式来替代,实则上ligerText是可以重复调用的,不同的是第二次以后调用都是直接放回ligerui对象。当我们不确定html元素是否已经应用了插件的情况下可以使用第二种方式。

  其他插件的命名跟TextBox类同

  事件处理

  事件处理有两种方式。一种是以参数的形式传入,一种是调用ligerui对象的bind方法。

  

复制代码 代码如下:

  //方式一

  var g = $("#txt1").ligerTextBox(

  {

  onChangeValue : function(value){alert(value);}

  });

  //方式二

  g.bind('changeValue', function (value)

  {

  alert(value);

  });

  使用bind方法是没有带”on”的。

  事件监听是可以多次绑定的。

  对于某些事件,如果函数的返回值是false,那么后面还没有触发的函数将不会再执行

  第二种方式(bind),是V1.1.3使用core机制以后引入的。

  方法调用

  使用ligerui的接口很方便。只需要调用ligerui对象的方法即可。

  

复制代码 代码如下:

  //这里设置文本框不能编辑

  g.setDisabled();

  //这里设置文本框可以编辑

  g.setEnabled();

  也可以使用这种方式

  

复制代码 代码如下:

  $(“#grid”).ligerGrid(‘setEnabled');

  至于这个对象有哪些方法,可以查看API

  对象的方法是可以扩展的,后面会有一篇ligerui扩展的章节来介绍

  第二种方式是在V1.1.4加入的

  获取参数值

  每一个ligerui对象都会有get方法。可以获取参数值

  

复制代码 代码如下:

  var url = g.get(‘url');

  或者是:

  

复制代码 代码如下:

  var url = $(“#grid”).ligerGrid(‘option','url');

  动态设置参数

  每一个ligerui对象都会有set方法。用于动态得设置参数。比如改变Grid的url,那么可以这样写:

  

复制代码 代码如下:

  g.set(‘url',url);

  或者是:

  

复制代码 代码如下:

  g.set({url:url});

  也可以用插件的方式:

  

复制代码 代码如下:

  $(“#grid”).ligerGrid(‘option','url',url);

  第二种方式是允许同时传入多个参数的。

  Set方法是所有插件的统一设置属性的接口

  Set方法是V1.1.3使用core机制以后引入的。

  插件传参的方式是V1.1.4引入的

  回到顶部

  如何扩展

  Ligerui的默认参数、方法都是可以扩展的,这里我们定义了两个入口: $.ligerDefaults和$.ligerMethods。

  比如要改变或者扩展Grid的默认参数,可以改变$.ligerDefaults.Grid

  默认参数扩展

  只需要扩展对象:$.ligerDefaults.{Plugin}

  比如要改变表格默认的头部标题:

  

复制代码 代码如下:

  if($.ligerDefaults.Grid)

  {

  $.ligerDefaults.Grid.title = "我的表格";

  }

  本地化支持扩展

  只需要扩展对象:$.ligerDefaults.{Plugin}String

  比如把表格“加载时”翻译成英文:

  

复制代码 代码如下:

  if($.ligerDefaults.GridString)

  {

  $.ligerDefaults.GridString.loadingMessage = "loading...";

  }

  方法扩展

  只需要扩展对象:$. ligerMethos.{Plugin}

  这里给Grid ligerui对象增加一个alert方法:

  

复制代码 代码如下:

  $.extend($.ligerMethods.Grid,

  {

  alert : function ()

  {

  //要注意到一点,这里的this就是ligerui对象

  var rowdata = this.getSelectedRow();

  if (!rowdata)

  alert('空');

  else

  alert(rowdata.CustomerID);

  }

  }

  );

  function show()

  {

  //后面就可以这样使用

  Var g = $(“#maingrid”).ligerGrid();

  g.alert();

  }