zoukankan      html  css  js  c++  java
  • jq form表单自动赋值

    (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 + " ";
    }
    //表单处理
    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)
  • 相关阅读:
    从 QSplitter 中移除 QWidget(使用隐藏与显示,切换十分方便,不要真正销毁)
    Qt虽然自己的源代码里不使用Exception,但也提供了一个QException及其子类QUnhandledException
    细说new与malloc的10点区别
    垃圾回收算法
    服务追踪数据使用 RabbitMQ 进行采集 + 数据存储使用 Elasticsearch + 数据展示使用 Kibana
    缓存穿透、缓存击穿与缓存雪崩
    微服务介绍
    分库分表
    Spring Boot、微服务架构和大数据
    Linux基本的操作
  • 原文地址:https://www.cnblogs.com/liuq1991/p/7911319.html
Copyright © 2011-2022 走看看