您的位置:首页 > Web前端 > JQuery

jquery插件loadForm.js 编辑页表单默认数据加载

2013-02-20 15:56 585 查看
类似于easyui form load 只不过独立了出来,简易版,支持input、textarea、select、radio、checkbox 表单元素的数据默认加载;

使用方法:

$(function(){
$('#formname').loadForm(1,'edit.php');
})


两个参数,第一个是数据id,就是数据在数据库中的记录数或主键

传递到服务器数据为

edit.php?ids=1


默认为GET方式 也可自己修改为POST方式

(function($) {
/**
* setValue of the input textarea select fields
*/
function _load(data,form){
for(var name in data){
var val = data[name];
var rr = _checkField(name, val,form);
if (!rr.length){
$('input[name="'+name+'"]', form).val(val);
$('textarea[name="'+name+'"]', form).val(val);
$('select[name="'+name+'"]', form).val(val);
}
}
}
/**
* check the checkbox and radio fields
*/
function _checkField(name, val,form){
var rr = $('input[name="'+name+'"][type=radio], input[name="'+name+'"][type=checkbox]', form);
$.fn.prop ? rr.prop('checked',false) : rr.attr('checked',false);
rr.each(function(){
var f = $(this);
if(String(val).indexOf(',')==-1){
if(f.val()==String(val)){
$.fn.prop?f.prop("checked",true):f.attr("checked",true);
}
}else{
temparr = String(val).split(',');
if($.inArray(f.val(),temparr) != -1){
$.fn.prop?f.prop("checked",true):f.attr("checked",true);
}
}
});
return rr;
}
$.fn.loadForm = function(ids,url){
var form = this;
var pattern = /.+\.(aspx|php|html)$/i;
var isAddress =    pattern.test(url);
if(isAddress){
$.ajax({
url: url,
type:"GET",
data: "ids="+ids,
dataType: 'json',
cache:false,
success: function(data){
_load(data,form);
}
});
}
}
})(jQuery);


也可以把这方法作为扩展添加入 form插件中,其实他本意就是为了扩展jquery form 而来,第一次写插件,功能相对简单,我会努力的,O(∩_∩)O~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: