你的位置:首页 > Java教程

[Java教程]jquery EasyUI datagrid 的扩展


接触 easyui 半年,js学的不深。大神请路过。

直接扩展

  添加方法:

$.extend($.fn.datagrid.methods, {  getSelectedIndex: function (jq) {//jq这个参数固定,如果需要定义其它参数写到后面		var rowIndex = -1;		jq.each(function () {//只取一个,其它不管。			var dg = $(this);			var row = dg.datagrid('getSelected');			if (row == null) return false;//break;			 rowIndex = dg.datagrid('getRowIndex', row);			if (rowIndex == null) rowIndex = -1;			return false;//break;		});		return rowIndex;	}

 

 

继承的方式

这个比较难,因为,easyui底层的函数参数是混淆的。看不懂代码。

不懂从哪里入手,想到看源码参考。比如 dialog 是从 window 继承过来的。

 

 

init 和 Render是我自己猜的函数名。只是为了帮助理解。

$.fn.dialog   //这个定义 dialog

$.fn.dialog.methods  //写 dialog 自己的函数。

$.fn.dialog.parseOptions  //解析参数

$.fn.dialog.defaults  //dialog 自己的默认定义

 

第一个  $.fn.dialog ,看注释:

 

其它三个块:

其中 $.fn.dialog.methods 只需要知道:添加方法,有一个参数 jq。

好了,大概了解怎么写扩展了吧。

 

在 init 重写事件

      onBeginEdit: function (index, row) { //这个function是 基类datagrid调用的。        opts.rowEditingIndexes.push(index);        opts.onBeginEdit.apply(this, [index, row]); //子类选项中的事件处理器调用      }

  

 

整个类的源码 不懂的怎么上传。

有需要的话加这个群吧:334214995