资源描述:
《mvcjquery数据绑定①:列表绑定t》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、除了绑定Table外,还有其他的循环列表需要绑定。其实都一样,都是把模版化成数据。模板的存法用注释的方式只是一种方法。更好的方法自由发挥。目前就是为了取得模板。比如用一个Json来存放需要的Template,然后专门放在一个templates.js里或由xml配置的模板然后生成json数据,需要用的时候直接templates.tempName就可以了。写博文太累了。特别是自己的思想给别人分享时更累。我这里也不赘述了。贴下代码吧代码;(function($){vartemplateList=[];//
2、存放一般的模板列表$.fn.bindList=function(args,template,options,async){varme=this;varurl,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":dataSour
3、ce=args;break;}}//args是jsonswitch(arguments.length){case1:if(args==null)returnme;if(typeof(args)=="string"){url=args;}elseif(typeof(args)=="object"){url=args.url;async=args.async
4、
5、async;template=args.template
6、
7、template;options=args.options
8、
9、options;dat
10、aSource=args.data;}break;case2://url,async
11、
12、url,tempalte
13、
14、data,templateif(typeof(arguments[0])=="string")url=arguments[0];elsedataSource=arguments[0];if(typeof(arguments[1])=="bool"){async=arguments[1];template=me.getTemplate();}break;case3://url,templ
15、ate,async
16、
17、url,template,options
18、
19、data,template,optionstemplate=template;options=options;if(typeof(options)=="bool"){async=options;options=undefined;}break;case4:template=template;options=options;async=async;break;}if((url==undefined
20、
21、url=="")&&dataSour
22、ce==undefined){returnme;}if(dataSource==undefined){$.ajax({type:"POST",async:async,url:url,success:function(data){if(data==""
23、
24、data==null)return;data=eval("("+data+")");me.bindListData(data.list
25、
26、data,template,options);}});}else{me.bindListData(dataSou
27、rce,template,options);}returnme;};$.fn.bindListData=function(data,template,options){varme=this;template=template
28、
29、me.getTemplate();this.empty();varresultTemplate=replaceTemplate(template,data);varprepend,append,dvalue;if(options!=undefined){prepend=opt
30、ions.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"