$.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;
}
}
}
};
};
}
});

最新文章

  1. delegate用法
  2. Archlinux 2015.07.01 和 Windows7 双系统 安装教程
  3. sql 执行动态语句
  4. BZOJ-1001 狼抓兔子 (最小割-最大流)平面图转对偶图+SPFA
  5. 初识 .NET平台下作业调度器——Quartz.NET
  6. SQL也能玩递归
  7. HDU 2845 Beans (DP)
  8. Visual Studio Code 配置C++环境
  9. 对Item中定时器的理解
  10. 卸载linux后出现grub rescue怎么办?
  11. [php] 添加接口访问日志(文件)
  12. 8.Django
  13. Python 的异步 IO:Asyncio 简介
  14. 解决 img 标签上下出现的间隙
  15. bootStrap中的翻页效果
  16. 〖Android〗arm-linux-androideabi-gdb报 libpython2.6.so.1.0: cannot open shared object file错误的解决方法
  17. 按渠道计算 PV 和 UV
  18. 题解——洛谷P4767 [IOI2000]邮局(区间DP)
  19. codeblocks “can&#39;t find compiler executable in yourconfigured search ……”
  20. 基于PU-Learning的恶意URL检测

热门文章

  1. 使用GIT进行源码管理 —— VisualStudio官方GIT教程
  2. ylbtech-LanguageSamples-ComInteropPart2(COM 互操作第二部分)
  3. $apply用法注意
  4. Excel 对应.xml/.ftl 配置(中爆导出范文)
  5. 最短路径——Floyd,Dijkstra(王道)
  6. virtualbox 设置windows 于ubuntu虚拟机共享文件夹
  7. hbase shell删除键不听使唤
  8. J2EE规范
  9. hibernate学习系列-----(8)hibernate对集合属性的操作之Collectioon集合篇
  10. iOS 调用第三方地图进行导航