jQuery插件:Ajax将Json数据自动绑定到Form表单
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了jQuery插件:Ajax将Json数据自动绑定到Form表单,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2016字,纯文字阅读大概需要3分钟。
内容图文
jQuery注册方法的两种常用方式:
// jQuery静态方法注册 // 调用方法$.a1() $.extend({ a1: function () { console.log("a1"); } }) //jQuery插件方法注册 //调用方法$("#col").b1()$.fn.extend({ b1: function () { console.log("b1"); } })
将ajax返回的数据自动绑定到form表单中的插件,常用语修改等业务,源码如下:
/* flagName:标识绑定字段元素的属性,如data-bind是寻找绑定字段的属性:<input data-bind=‘Time‘ type=‘text‘ /> jsonData:json数据对象,根据其中的属性名,绑定到对应属性名的字段上 */ var JsonBind = function (ele, opt) { this.$element = $(ele), this.defaults = { flagName: ‘name‘ }, /* 当给extend方法传递一个以上的参数时,它会将所有参数对象合并到第一个里。 同时,如果对象中有同名属性时,合并的时候后面的会覆盖前面的。 将一个新的空对象做为$.extend的第一个参数,defaults和用户传递的参数对象紧随其后, 这样做的好处是所有值被合并到这个空对象上,保护了插件里面的默认值。 */this.options = $.extend({}, this.defaults, opt) }; JsonBind.prototype = { bind: function () { if (this.options.jsonData) { if (this.options.jsonData == ‘string‘) { this.options.jsonData = JSON.parse(this.options.jsonData); } } //获得触发事件的元素var dom = this.$element; var name = this.options.flagName; var data = this.options.jsonData; //遍历元素内所有含有name属性的元素//return使其只是链式调用,如:$("#col").get().set().trim()return dom.find("[" + name + "]").each(function () { //取出json中对应name属性的值var key = $(this).attr(name); var val = $.trim(data[key]); if (val != ‘‘) { //检查当前元素标签,并根据不同标签进行赋值操作if ($(this).is("input")) { //检查当前元素类型,并根据不同类型进行赋值操作switch ($(this).attr("type")) { case "radio": $(dom).find("input:radio[" + name + "=‘" + key + "‘][value=‘" + val + "‘]").prop("checked", true); break; case "checkbox": $(dom).find("input:checkbox[" + name + "=‘" + key + "‘][value=‘" + val + "‘]").prop("checked", true); //$(this).siblings("[value=‘" + val + "‘]").prop("checked", true);break; default: $(this).val(val); break; } } elseif ($(this).is("select")) { $(this).val(val); } } }); } }; //将方法增加到jQuery扩展方法中$.fn.extend({ dataBind: function (options) { var jsBind = new JsonBind(this, options); return jsBind.bind(); } });
调用方式:
// flagName是可选参数,默认是元素的name属性 $("#menuForm").dataBind({ jsonData:JSON.parse(data), flagName:‘name‘ });
原文:http://www.cnblogs.com/taiyonghai/p/7504618.html
内容总结
以上是互联网集市为您收集整理的jQuery插件:Ajax将Json数据自动绑定到Form表单全部内容,希望文章能够帮你解决jQuery插件:Ajax将Json数据自动绑定到Form表单所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。