jquery自动赋值插件

原创 2017年02月06日 14:37:09
参考了网上的代码,自己又改进了一下

/*
 * jquery 初始化form插件,传入一个json对象,为form赋值 
 *此插件要在文本编辑器之前引入
 *<input type="hidden" name="img_url" />
 *<img src="" fieldata="img_url" />
 *
 *<input type="hidden" name="url" />
 *<a href="" fieldata="url">link</a>
 */
 
(function ($) {
    $.fn.extend({
        initForm: function (options) {
            //默认参数
            var defaults = {
                formdata: "",
                isDebug: true	//是否需要调试,这个用于开发阶段,发布阶段请将设置为false,默认为false,true将会把name value打印出来
            }
            //如果传入的json字符串,将转为json对象
            var tempData = "";
            if ($.type(options) === "string") {
                defaults.formdata = JSON.parse(options);
            } else {
                defaults.formdata = options;
            }
             //设置参数
            // var setting = $.extend({}, defaults, tempData);
            var setting = defaults;
            var form = this;
            formdata = setting.formdata;
            
            //如果传入的json对象为空,则不做任何操作
            if (!$.isEmptyObject(formdata)) {
                var debugInfo = "";
                $.each(formdata, function (key, value) {
                    //是否开启调试,开启将会把name value打印出来
                    if (setting.isDebug) {
                        debugInfo += "name:" + key + "; value:" + value + "\r\n ";
                    }
                    //表单处理
                    var formField = form.find("[name='" + key + "']");
                    if ($.type(formField[0]) === "undefined") {
                        if (setting.isDebug) {
                            console.warn("can not find name:[" + key + "] in form!!!");	//没找到指定name的表单
                        }
                    } else {
                        var fieldTagName = formField[0].tagName.toLowerCase();
                        if (fieldTagName == "input") {
                            if (formField.attr("type") == "radio") {
                                $("input:radio[name='" + key + "'][value='" + value + "']").attr("checked", "checked");
                            } else if (formField.attr("type") == "checkbox") {
                                $("input:checkbox[name='" + key + "'][value='" + value + "']").attr("checked", "checked");
                            } else {
                                formField.val(value);
                            }
                        }  else if (fieldTagName == "label") {
                            formField.html(value);
                        } else {
                            formField.val(value);
                        }
                    }
                    //图片链接处理form.find("img[fieldata=img_url]")
                    var formImage = form.find("img[fieldata=" + key + "]");
                    if ($.type(formImage[0]) != "undefined") {
                        formImage.attr("src", value);
                    }
                    //a链接处理
                    var formLink = form.find("a[fieldata=" + key + "]");
                    if ($.type(formLink[0]) != "undefined") {
                        formLink.attr("href", value);
                    }
                })
                if (setting.isDebug) {
                    console.log(debugInfo);
                }
            }
            return form;	//返回对象,提供链式操作
        }
    });
})(jQuery)

版权声明:本文为博主原创文章,未经博主允许不得转载。

jQuery自动给表单赋值

/* * jquery 初始化form插件,传入一个json对象,为form赋值 * version: 1.0.0-2013.06.24 * @requires jQuery v1.5 or ...

插件中对动态表单数据模型进行赋值实现动态表单数据绑定

默认情况下,表单的数据模型创建及赋值由BOS基类实现,一些特殊场景需要在插件中动态创建及赋值绑定。 下面为动态表单“付款单明细列表”的表单插件,PurchaseServiceHelper.GetPa...

easyui layout+tab+tree实现网站基本布局

var index = 0; function addPanel(url,title){ if(!$('#tt').tabs('exists', tit...
  • lllljz
  • lllljz
  • 2015年05月25日 09:26
  • 2048

Jquery给easyui的表单元素赋值,获取值

1.Input     a.    validatebox 定义:  

jquery for dw cs4 自动提示插件

  • 2010年04月23日 13:34
  • 43KB
  • 下载

spket插件安装并设置JQuery自动提示

spket是一个开发JavaScript、jQuery、Ext_js等的开发工具,它可以 是独立的IDE,也可以作为Eclipse的插件使用,下面介绍如何在Eclipse中安装spket插件; 1.首...
  • sanfye
  • sanfye
  • 2015年04月19日 00:33
  • 8247

jquery.table.rowspan.js 表格自动合并单元格插件

日常开发中,经常遇到表格里需要自动合并单元格,考虑到写服务器控件比较消耗性能,因些还是把这种工作交给客户端Javascript去做吧,基于习惯用jquery框架,所以封装了一个Jquery插件。 1....
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:jquery自动赋值插件
举报原因:
原因补充:

(最多只允许输入30个字)