EasyUI Forum
May 16, 2024, 12:37:54 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: about form load problem  (Read 5711 times)
hjzhbb7758
Jr. Member
**
Posts: 84


View Profile Email
« on: February 01, 2015, 10:08:33 PM »

Code:
$.extend($.fn.form.methods, {
MyloadData : function(jq, data) {
return jq.each(function() {
load(this, data);
});

function load(target, data) {
if (!$.data(target, 'form')) {
$.data(target, 'form', {
options : $.extend({}, $.fn.form.defaults)
});
}
var opts = $.data(target, 'form').options;

if (typeof data == 'string') {
var param = {};
if (opts.onBeforeLoad.call(target, param) == false)
return;

$.ajax({
url : data,
data : param,
dataType : 'json',
success : function(data) {
_load(data);
},
error : function() {
opts.onLoadError.apply(target, arguments);
}
});
} else {
_load(data);
}
function _load(data) {
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 "";
}
}, data)();
var rr = _checkField(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);
}
}
_loadCombo(name, value);
});
opts.onLoadSuccess.call(target, data);
$(target).form("validate");
}

function _checkField(name, val) {
var rr = $(target).find('input[name="' + name + '"][type=radio], input[name="' + name + '"][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 _loadCombo(name, val) {
var form = $(target);
var cc = [ 'combobox', 'combotree', 'combogrid', 'datetimebox', 'datebox', 'combo' ];
var c = form.find('[comboName="' + name + '"]');
if (c.length) {
for (var i = 0; i < cc.length; i++) {
var type = cc[i];
if (c.hasClass(type + '-f')) {
if (c[type]('options').multiple) {
c[type]('setValues', val);
} else {
c[type]('setValue', val);
}
return;
}
}
}
}
}
}
});

use "MyloadData" method in easyui1.3.6 can be load this Data  {dept:{id:'001', name:'us'}} 
why easyui 1.4.1 ,is't not work?
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!