Easyui Form增加myLoad方法,使其支持二级数据对象
$.extend($.fn.form.methods, {
myLoad : function (jq, param) {
return jq.each(function () {
load(this, param);
});
function load(target, param) {
if (!$.data(target, "form")) {
$.data(target, "form", {
options : $.extend({}, $.fn.form.defaults)
});
}
var options = $.data(target, "form").options;
if (typeof param == "string") {
var params = {};
if (options.onBeforeLoad.call(target, params) == false) {
return;
}
$.ajax({
url : param,
data : params,
dataType : "json",
success : function (rsp) {
loadData(rsp);
},
error : function () {
options.onLoadError.apply(target, arguments);
}
});
} else {
loadData(param);
}
function loadData(dd) {
var form = $(target);
var formFields = form.find("input[name],select[name],textarea[name]");
formFields.each(function(){
var name = this.name;
var value = jQuery.proxy(function(){try{return eval('this.'+name);}catch(e){return "";}},dd)();
var rr = setNormalVal(name,value);
if (!rr.length) {
var f = form.find("input[numberboxName=\"" + name + "\"]");
if (f.length) {
f.numberbox("setValue", value);
} else {
$("input[name=\"" + name + "\"]", form).val(value);
$("textarea[name=\"" + name + "\"]", form).val(value);
$("select[name=\"" + name + "\"]", form).val(value);
}
}
setPlugsVal(name,value);
});
options.onLoadSuccess.call(target, dd);
$(target).form("validate");
};
function setNormalVal(key, val) {
var rr = $(target).find("input[name=\"" + key + "\"][type=radio], input[name=\"" + key + "\"][type=checkbox]");
rr._propAttr("checked", false);
rr.each(function () {
var f = $(this);
if (f.val() == String(val) || $.inArray(f.val(), val) >= 0) {
f._propAttr("checked", true);
}
});
return rr;
};
function setPlugsVal(key, val) {
var form = $(target);
var cc = ["combobox", "combotree", "combogrid", "datetimebox", "datebox", "combo"];
var c = form.find("[comboName=\"" + key + "\"]");
if (c.length) {
for (var i = 0; i < cc.length; i++) {
var combo = cc[i];
if (c.hasClass(combo + "-f")) {
if (c[combo]("options").multiple) {
c[combo]("setValues", val);
} else {
c[combo]("setValue", val);
}
return;
}
}
}
};
};
}
});
Easyui Form增加myLoad方法,使其支持二级数据对象的更多相关文章
- flask修改flask_wtf使其支持json数据的validation验证
flask默认是前后端不分离策略,前端通过flask+wtf表单来传递post,put...等数据. 现在前后端分离是趋势,那么对flask进行一定的修改,变为前后端分离,在前端页面中请求后端,那么请 ...
- 修改sqlarchemy源码使其支持jdbc连接mysql
注意:本文不会将所有完整源码贴出,只是将具体的思路以及部分源码贴出,需要感兴趣的读者自己实验然后实现吆. 缘起 公司最近的项目需要将之前的部分业务的数据库连接方式改为jdbc,但由于之前的项目都使用s ...
- 让jquery easyui datagrid列支持绑定嵌套对象
嵌套对象是指返回的json数据,是对象的某个属性自带有属性.而我们恰恰又需要这个属性,默认情况下easyui的datagrid是不支持绑定嵌套对象的.比如:datagrid的field属性只能为fie ...
- 表单(上)EasyUI Form 表单、EasyUI Validatebox 验证框、EasyUI Combobox 组合框、EasyUI Combo 组合、EasyUI Combotree 组合树
EasyUI Form 表单 通过 $.fn.form.defaults 重写默认的 defaults. 表单(form)提供多种方法来执行带有表单字段的动作,比如 ajax 提交.加载.清除,等等. ...
- AndroidInject项目使用动态代理增加对网络请求的支持
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/3540427.html AndroidInject项目是我写的一 ...
- Apache下开启SSI配置使html支持include包含
写页面的同学通常会遇到这样的烦恼,就是页面上的 html 标签越来越多的时候,寻找指定的部分就会很困难,那么能不能像 javascript 一样写在不同的文件中引入呢?答案是有的,apache 能做到 ...
- Linux下安装libiconv使php支持iconv函数
libiconv组件安装好了可以让我们php支持iconv函数了,这个函数的作用就是字符编码强制转换了,下面和111cn小编一起来看一个Linux中安装libiconv使php支持iconv函数的例子 ...
- EasyUI 验证框使用方法
使用过程中的一积累,备查. EasyUI 验证框使用方法://***************************missingMessage:未填写时显示的信息validType:验证类型见下示例 ...
- 在内核中增加对yaffs文件系统的支持
自己最近在搞一些内核以及根文件系统的移植,就涉及到了需要在内核中增加对yaffs文件系统的支持.在网上找了一些文档后,自己将具体的操作过程做了一个总结,方便以后查询使用: 1.获取yaffs源码 YA ...
随机推荐
- 解决Visual Studio 2013 XAML设计器异常
今天使用Visual Studio 2013打开一个windows 应用商店程序的时候,发现出现如下异常: at System.Windows.Input.Cursor.LoadFromFile ...
- html5页面中 触发 拨打电话、发短信 的方式
<a href="tel:18688888888">拨号</a> <a href="sms:18688888888">发短信 ...
- 昨晚京东校招笔试,没考一道.net,全考java了
我在大四之前我都觉得跟着微软走是正确的,这条大腿很粗!但是现在我也开始不那么认为了,现在每天在网上找招聘信息,稍微大点的公司都是招java的,很少招.net的!别说什么你学的好不怕没人招之类的话,大公 ...
- SQL CTE 递归分割以逗号分隔的字符串
)) INSERT INTO @t SELECT 'AAA,BBB,CCC' SELECT * FROM @t ;WITH mycte AS ( ,mend,num FROM @t UNION ALL ...
- 搭建redis集群环境
Redis的集群机制 ============================= 转自http://lib.csdn.net/article/redis/39999 别人写的,写得不错,转了. Red ...
- C# 操作mongodb 简单实例
本实例主要简单的查询,新增,修改和删除操作,完整代码如下: using System; using System.Collections.Generic; using System.Text; usi ...
- 在windows下部署laravel项目的步骤
laravel版本:5.4 php版本:7.1以上,我用的php7.2.7 1.代码库下载laravel源码,放在你自己的运行目录下 2.配置hosts域名及 apache域名配置 3.安装compo ...
- Java NIO 选择器(Selector)的内部实现(poll epoll)(转)
转自:http://blog.csdn.net/hsuxu/article/details/9876983 之前强调这么多关于linux内核的poll及epoll,无非是想让大家先有个认识: Java ...
- C# 多线程控制 通讯
一.多线程的概念 Windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本,你可以通过任务管理器查看当前系统运行的程序和进程.什么是进程呢?当一个程序开始运行时,它就是一 ...
- Hybrid App开发实战
Hybrid App开发实战 作者 李秉骏 发布于 九月 04, 2013 | [引言]近年来随着移动设备类型的变多,操作系统的变多,用户需求的增加,对于每个项目启动前,大家都会考虑到的成本,团队成员 ...