jquery extend 多个扩展方法

$.fn.extend({
SetDict: function (option) {
var txtControl = $(this);
if (!txtControl.hasClass("combo-text")) {
// var width = txtControl.width();
//txtControl.addClass("combo");

}
txtControl.click(function () {
var obj = option.valueControl;
var dicType = option.dicType;
var isShow = txtControl.attr("isShow");
if (isShow == null || isShow == "") {
txtControl.attr("isShow", "1");
txtControl.combogrid({
panelWidth: 250,
idField: ‘Code‘,
textField: ‘Name‘,
url: ‘/Common/EntityJsonList.ashx?_method=dict&dictType=‘ + dicType + "&tmp=" + Math.random() + ‘&queryTextFild=Name‘,
method: ‘get‘,
delay: 1000,
columns: [[
{ field: ‘Name‘, title: ‘名称‘, width: 100 },
{ field: ‘Code‘, title: ‘编码‘, width: 100 }
]],
striped: true,
editable: true,
collapsible: false, //是否可折叠的
fit: true,
onLoadSuccess: function () {
window.setTimeout(function () {
$(".combo-arrow", option.valueControl.parent()).click();
}, 100);
},
onClickRow: function (index, row) {
txtControl.val(row.Name);
option.valueControl.val(row.Code);
}, //自动大小
keyHandler: {
up: function () { //【向上键】押下处理
//取得选中行
var selected = txtControl.combogrid(‘grid‘).datagrid(‘getSelected‘);
if (selected) {
//取得选中行的rowIndex
var index = txtControl.combogrid(‘grid‘).datagrid(‘getRowIndex‘, selected);
txtControl.val(selected.Name);
option.valueControl.val(selected.Code);
//向上移动到第一行为止
if (index > 0) {
txtControl.combogrid(‘grid‘).datagrid(‘selectRow‘, index - 1);
}
} else {
var rows = txtControl.combogrid(‘grid‘).datagrid(‘getRows‘);
txtControl.combogrid(‘grid‘).datagrid(‘selectRow‘, rows.length - 1);

}
},
down: function () { //【向下键】押下处理
//取得选中行
var selected = txtControl.combogrid(‘grid‘).datagrid(‘getSelected‘);
if (selected) {
txtControl.val(selected.Name);
option.valueControl.val(selected.Code);
//取得选中行的rowIndex
var index = txtControl.combogrid(‘grid‘).datagrid(‘getRowIndex‘, selected);
//向下移动到当页最后一行为止
if (index < txtControl.combogrid(‘grid‘).datagrid(‘getData‘).rows.length - 1) {
txtControl.combogrid(‘grid‘).datagrid(‘selectRow‘, index + 1);
}
} else {
txtControl.combogrid(‘grid‘).datagrid(‘selectRow‘, 0);
}
},
enter: function () { //【回车键】押下处理
txtControl.combogrid(‘hidePanel‘);
var selected = txtControl.combogrid(‘grid‘).datagrid(‘getSelected‘);
if (selected) {
txtControl.val(selected.Name);
option.valueControl.val(selected.Code);
}

},
query: function (keyword) { //【动态搜索】处理
//设置查询参数
var queryParams = txtControl.combogrid("grid").datagrid(‘options‘).queryParams;
queryParams.keyword = keyword;
txtControl.combogrid("grid").datagrid(‘options‘).queryParams = queryParams;
//重新加载
txtControl.combogrid("grid").datagrid("reload");
txtControl.combogrid("setValue", keyword);
}
},
mode: ‘remote‘,
fitColumns: true
});
}
});
}
});
$.fn.extend({
SetCombo: function (option) {/// <reference path="../Common/JGridJson.cs" />
var entityType = option.entityType;
var textField = option.textField;
var textControl = $(this);
var panelWidth = option.panelWidth;
var idFild = option.idFild;
var valueControl = option.valueControl;
var panelHeight = option.panelHeight;
var columns = option.columns;
var where = option.where;
//var keyword = option.keyword;
var pageSize = option.pageSize;
if (option.pageSize == null) {
pageSize = 10;
}
var obj = valueControl;
if (panelHeight == null) {
panelHeight = 300;
}
var url = ‘/common/EntityJsonList.ashx?entityType=‘ + option.entityType + ‘&_method=entity&tmp=‘ + Math.random() + ‘&queryTextFild=‘ + textField;
if (where) {
url += "&where=" + where;
}
if (panelWidth == null) {
panelWidth = 500;
}
if (valueControl.val() != "") {
url += "&defaultValue=" + escape(valueControl.val());
}
var id = ‘Id‘;
if (idFild != null) {
id = idFild;
}
url += "&idFild=" + id;
textControl.click(function () {
var a = textControl.attr("isShow");
if (a == "" || a == null) {
textControl.attr("isShow", "1");
textControl.combogrid({
panelWidth: panelWidth,
panelHeight: panelHeight,
idField: id,
textField: textField,
url: url,
method: ‘get‘,
delay: 1000,
pagination: true, //是否分页
rownumbers: true, //序号
pageSize: pageSize, //每页显示的记录条数,默认为10
pageList: [pageSize, 10, 20, 30, 40, 50, 100, 200], //可以设置每页记录条数的列表
columns: columns,
striped: true,
editable: true,
collapsible: false, //是否可折叠的
fit: true,
onLoadSuccess: function () {
window.setTimeout(function () {
$(".combo-arrow", option.valueControl.parent()).click();
}, 100);
},
onClickRow: function (index, row) {
valueControl.val(UTIL.getJsonByKey(row, idFild));
textControl.val(UTIL.getJsonByKey(row, textField));
}, //自
keyHandler: {
up: function () { //【向上键】押下处理
//取得选中行
var selected = textControl.combogrid(‘grid‘).datagrid(‘getSelected‘);
if (selected) {
//取得选中行的rowIndex = txtControlex
var index = combogrid(‘grid‘).datagrid(‘getRowIndex‘, selected);
valueControl.val(UTIL.getJsonByKey(selected, idFild));
textControl.val(UTIL.getJsonByKey(selected, textField));
//向上移动到第一行为止
if (index > 0) {
textControl.combogrid(‘grid‘).datagrid(‘selectRow‘, index - 1);
}
} else {
var rows = textControl.combogrid(‘grid‘).datagrid(‘getRows‘);
textControl.combogrid(‘grid‘).datagrid(‘selectRow‘, rows.length - 1);
}
},
down: function () { //【向下键】押下处理
//取得选中行
var selected = textControl.combogrid(‘grid‘).datagrid(‘getSelected‘);
if (selected) {
valueControl.val(UTIL.getJsonByKey(selected, idFild));
textControl.val(UTIL.getJsonByKey(selected, textField));
//取得选中行的rowIndex
var index = textControl.combogrid(‘grid‘).datagrid(‘getRowIndex‘, selected);
//向下移动到当页最后一行为止
if (index < textControl.combogrid(‘grid‘).datagrid(‘getData‘).rows.length - 1) {
textControl.combogrid(‘grid‘).datagrid(‘selectRow‘, index + 1);
}
} else {
textControl.combogrid(‘grid‘).datagrid(‘selectRow‘, 0);
}
},
enter: function () { //【回车键】押下处理
textControl.combogrid(‘hidePanel‘);
var selected = textControl.combogrid(‘grid‘).datagrid(‘getSelected‘);
if (selected) {
valueControl.val(UTIL.getJsonByKey(selected, idFild));
textControl.val(UTIL.getJsonByKey(selected, textField));
}

},
query: function (keyword) { //【动态搜索】处理
//设置查询参数
var queryParams = textControl.combogrid("grid").datagrid(‘options‘).queryParams;
queryParams.keyword = keyword;
textControl.combogrid("grid").datagrid(‘options‘).queryParams = queryParams;
//重新加载
textControl.combogrid("grid").datagrid("reload");
textControl.combogrid("setValue", keyword);
}
},
mode: ‘remote‘,
fitColumns: true
});
}
});

}
});
时间: 2024-10-10 21:53:29

jquery extend 多个扩展方法的相关文章

在jQuery定义自己的扩展方法函数

今早复习昨天的练习jQuery的DropDownList联动功能,如果想看回<jQuery实现DropDownList(MVC)>http://www.cnblogs.com/insus/p/3413749.html 和<jQuery实现两个DropDownList联动(MVC)>http://www.cnblogs.com/insus/p/3414480.html .发觉一些jQuery代码冗余.如: 上图中,高亮部分的代码将会是产生冗余,它只是对象不相同而已.jQuery是否也

为Jquery类和Jquery对象扩展方法

jquery.fn.extend与jquery.extend jQuery为开发插件提拱了两个方法,分别是: JavaScript代码 jQuery.fn.extend(object); jQuery.extend(object); jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法. jQuery.fn.extend(object);给jQuery对象添加方法. fn 是什么东西呢.查看jQuery代码,就不难发现. JavaScript代码 jQuery

jquery.extend方法

jquery.extend()用来扩展jquery中方法,实现插件. 1.jQuery.extend函数详细用法! 扩展jQuery静态方法. 1$.extend({2test:function(){alert('test函数')}3}) 用法: $.test() 2.jQuery.extend 函数详解 上述两个虽说叫详解,讲解都很简略,下面这篇好一点. 3.jQuery $.extend()用法总结 jQuery.extend(object);为扩展jQuery类本身.为类添加新的方法. j

jQuery extend方法使用及实现

一.jQuery extend方法介绍 jQuery的API手册中,extend方法挂载在jQuery和jQuery.fn两个不同对象上方法,但在jQuery内部代码实现的是相同的,只是功能却不太一样: 且看官方给出解释: jQuery.extend(): Merge the contents of two or more objects together into the first object.(把两个或者更多的对象合并到第一个当中): jQuery.fn.extend():Merge t

jQuery extend方法介绍

jQuery为开发插件提拱了两个方法,分别是: jQuery.fn.extend(object); jQuery.extend(object); jQuery.extend(object);为扩展jQuery类本身.为类添加新的方法. jQuery.fn.extend(object);给jQuery对象添加方法.这个应该很好理解吧.举个例子. 1.合并多个对象. 这里使用的就是$.extend()的嵌套多个对象的功能. 所谓嵌套多个对象,有点类似于数组的合并的操作. <span style=&quo

jQuery $.extend()使用方法

$.extend()使用方法总结. jQuery为开发插件提拱了两个方法,各自是: jQuery.fn.extend(object); jQuery.extend(object); jQuery.extend(object);为扩展jQuery类本身.为类加入新的方法. jQuery.fn.extend(object);给jQuery对象加入方法. 这个应该非常好理解吧. 举个样例. <span style="font-size:18px;"><html> &l

jquery.fn.extend与jquery.extend用法与区别

关于jquery.fn.extend与jquery.extend用法与区别. jQuery为开发插件提拱了两个方法,分别是:  代码如下 复制代码 jQuery.fn.extend(object);  和   jQuery.extend(object); jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法. jQuery.fn.extend(object);给jQuery对象添加方法. fn 是什么东西呢.查看jQuery代码,就不难发现.  代码如下 复制

jQuery.extend和jQuery.fn.extend的区别

我们先把jQuery看成了一个类,这样好理解一些. jQuery.extend(),是扩展的jQuery这个类. 假设我们把jQuery这个类看成是人类,能吃饭能喝水能跑能跳,现在我们用jQuery.extend这个方法给这个类拓展一个能唱歌的技能.这样的话,不论是男人,女人,xx人.....等能继承这个技能(方法)了. 可以如下图这样写着: 然后:$.liu();这样就能打印出来”liu“这个字符串 代码在下面: 这说明啥啊,这说明.liu()变成了jQuery这个类本身的方法(object)

jQuery原生框架中的jQuery.fn.extend和jQuery.extend

extend 方法在 jQuery 中是一个很重要的方法,jQuey 内部用它来扩展静态方法或实例方法,而且我们开发 jQuery 插件开发的时候也会用到它.但是在内部,是存在 jQuery.fn.extend 和 jQuery.extend 两个 extend 方法的,而区分这两个 extend 方法是理解 jQuery 的很关键的一部分.先看结论: 1)jQuery.extend(object) 为扩展 jQuery 类本身,为类添加新的静态方法: 2)jQuery.fn.extend(ob