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)
  • 相关阅读:
    Docker部署nginx
    解决网页在手机端适配问题
    记一次Jenkins+Docker+gitlab自动化部署vue
    Docker部署jenkins
    备案
    Jenkins插件使用--Publish Over SSH
    打开root用户ssh登陆
    gitlab配置git
    Dokcer容器内无法域名解析
    vue开发环境搭建
  • 原文地址:https://www.cnblogs.com/liuq1991/p/7911319.html
Copyright © 2011-2022 走看看