$.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方法,使其支持二级数据对象的更多相关文章

  1. flask修改flask_wtf使其支持json数据的validation验证

    flask默认是前后端不分离策略,前端通过flask+wtf表单来传递post,put...等数据. 现在前后端分离是趋势,那么对flask进行一定的修改,变为前后端分离,在前端页面中请求后端,那么请 ...

  2. 修改sqlarchemy源码使其支持jdbc连接mysql

    注意:本文不会将所有完整源码贴出,只是将具体的思路以及部分源码贴出,需要感兴趣的读者自己实验然后实现吆. 缘起 公司最近的项目需要将之前的部分业务的数据库连接方式改为jdbc,但由于之前的项目都使用s ...

  3. 让jquery easyui datagrid列支持绑定嵌套对象

    嵌套对象是指返回的json数据,是对象的某个属性自带有属性.而我们恰恰又需要这个属性,默认情况下easyui的datagrid是不支持绑定嵌套对象的.比如:datagrid的field属性只能为fie ...

  4. 表单(上)EasyUI Form 表单、EasyUI Validatebox 验证框、EasyUI Combobox 组合框、EasyUI Combo 组合、EasyUI Combotree 组合树

    EasyUI Form 表单 通过 $.fn.form.defaults 重写默认的 defaults. 表单(form)提供多种方法来执行带有表单字段的动作,比如 ajax 提交.加载.清除,等等. ...

  5. AndroidInject项目使用动态代理增加对网络请求的支持

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/3540427.html AndroidInject项目是我写的一 ...

  6. Apache下开启SSI配置使html支持include包含

    写页面的同学通常会遇到这样的烦恼,就是页面上的 html 标签越来越多的时候,寻找指定的部分就会很困难,那么能不能像 javascript 一样写在不同的文件中引入呢?答案是有的,apache 能做到 ...

  7. Linux下安装libiconv使php支持iconv函数

    libiconv组件安装好了可以让我们php支持iconv函数了,这个函数的作用就是字符编码强制转换了,下面和111cn小编一起来看一个Linux中安装libiconv使php支持iconv函数的例子 ...

  8. EasyUI 验证框使用方法

    使用过程中的一积累,备查. EasyUI 验证框使用方法://***************************missingMessage:未填写时显示的信息validType:验证类型见下示例 ...

  9. 在内核中增加对yaffs文件系统的支持

    自己最近在搞一些内核以及根文件系统的移植,就涉及到了需要在内核中增加对yaffs文件系统的支持.在网上找了一些文档后,自己将具体的操作过程做了一个总结,方便以后查询使用: 1.获取yaffs源码 YA ...

随机推荐

  1. PHP超全局变量$_ENV详解,及$_ENV为空的可能原因

    PHP中的$_ENV存储了一些系统的环境变量,因为牵扯到实际的操作系统,所以不可能给出$_ENV的完整列表. $_ENV为空的可能原因:  你的php.ini的variables_order值为&qu ...

  2. 日积月累--exception记录

    关于Android的sqlite数据类型text长度限制的问题? 这也许不能称为一个bug,但是比较坑,所以贴在了这里.在Android的sqlite中存储一个字符串,发现总是数据丢失,我去查询sql ...

  3. css活用,半星星的效果

    1.首先下载要用到星星字体 http://www.w3cplus.com/w3cplusDemo/demos/webFontIcon.html 2.css .cleanfloat::after{dis ...

  4. nodeJs建立简单的服务器

    var http = require('http');//http依赖 var hostname = '127.0.0.1';//本地 var port = 3000;//端口 var server ...

  5. ActiveX控件在项目中的应用

  6. 8、面向对象class

    对象的概念同其他语言的对象相同 一个基本的类 #!/usr/bin/python class person: def hi(self,name): print 'Hello,%s'%name p1= ...

  7. UVA-10603-Fill(BFS+优先队列)

    There are three jugs with a volume of a, b and c liters. (a, b, and c are positive integers not grea ...

  8. Spark streaming + Kafka 流式数据处理,结果存储至MongoDB、Solr、Neo4j(自用)

    KafkaStreaming.scala文件 import kafka.serializer.StringDecoder import org.apache.spark.SparkConf impor ...

  9. Android SlidingMenu 使用具体解释

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/36677279 非常多APP都有側滑菜单的功能.部分APP左右都是側滑菜单~Sli ...

  10. 使RESTful Web服务更加实用的10个建议

    提示:随着RESTful Web services的流行程度不断地上升,开发人员需要知道如何避免开发中的陷阱以及让开发出来的Web service达到自己能做到的最好程度. 过去的几年里,我们看到RE ...