除了绑定Table外,还有其他的循环列表需要绑定。
其实都一样,都是把模版化成数据。模板的存法用注释的方式只是一种方法。更好的方法自由发挥 。目前就是为了取得模板。
比如 用一个Json来存放需要的Template,然后专门放在一个templates.js里或由xml配置的模板然 后生成json数据, 需要用的时候直接 templates.tempName 就可以了。
写博文太累了。特别是自己的思想给别人分享时更累。我这里也不赘述了。贴下代码吧
代码
; (function($) { var templateList = []; //存放一般的模板列表 $.fn.bindList = function(args, template, options, async) { var me = this; var url, async, template, dataSource; url = me.attr("datasource"); async = me.attr("async") == "0"; if (arguments.length > 0) { switch (typeof (args)) { case "string": url = args; break; case "object": dataSource = args; break; } } //args是json switch (arguments.length) { case 1: if (args == null) return me; if (typeof (args) == "string") { url = args; } else if (typeof (args) == "object") { url = args.url; async = args.async || async; template = args.template || template; options = args.options || options; dataSource = args.data; } break; case 2: // url,async || url,tempalte || data,template if (typeof (arguments[0]) == "string") url = arguments[0]; else dataSource = arguments[0]; if (typeof (arguments[1]) == "bool") { async = arguments[1]; template = me.getTemplate(); } break; case 3: //url,template,async || url,template,options || data,template,options template = template; options = options; if (typeof (options) == "bool") { async = options; options = undefined; } break; case 4: template = template; options = options; async = async; break; } if ((url == undefined || url == "") && dataSource == undefined) { return me; } if (dataSource == undefined) { $.ajax({ type:"POST", async: async, url: url, success: function(data) { if (data == "" || data == null) return; data = eval("(" + data + ")"); me.bindListData(data.list || data, template, options); } }); } else { me.bindListData(dataSource, template, options); } return me; }; $.fn.bindListData = function(data, template, options) { var me = this; template = template || me.getTemplate(); this.empty(); var resultTemplate = replaceTemplate(template, data); var prepend, append, dvalue; if (options != undefined) { prepend = options.prepend; append = options.append; dvalue = options.dvalue; } if (prepend != undefined) { resultTemplate = prepend + resultTemplate; } if (append != undefined) { resultTemplate += append; } this.html(resultTemplate); //绑定控件的默认值 if (this.attr("type") == "select-one") { if (dvalue != undefined) this.bindControl(dvalue); else this[0].selectedIndex = 0; } me.setLink(); }; })(jQuery);
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索template
, data
, undefined
, args
, async
, Options
, prepend
prepend()
mvc绑定下拉列表、jquery 绑定下拉列表、jquery mvc、spring mvc jquery、asp.net mvc jquery,以便于您获取更多的相关知识。
时间: 2024-11-03 20:48:03