資源描述:
《mvcjquery數(shù)據(jù)綁定①列表綁定t》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、除了綁定Table外,還有其他的循環(huán)列表需要綁定。其實(shí)都一樣,都是把模版化成數(shù)據(jù)。模板的存法用注釋的方式只是一種方法。更好的方法自由發(fā)揮。目前就是為了取得模板。比如用一個(gè)Json來存放需要的Template,然后專門放在一個(gè)templates.js里或由xml配置的模板然后生成json數(shù)據(jù),需要用的時(shí)候直接templates.tempName就可以了。寫博文太累了。特別是自己的思想給別人分享時(shí)更累。我這里也不贅述了。貼下代碼吧代碼;(function($){vartemplateList=[];//存放一般的模板列表$.fn.
2、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":dataSource=args;break;}}//args是jsons
3、witch(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;dataSource=args.data;}break;case2://url,async
10、
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,template,async
15、
16、url,template,options
17、
18、data,template,optionste
19、mplate=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=="")&&dataSource==undefined){returnme;}if(dataSource==undefined){$.ajax({type:"POST"
22、,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(dataSource,template,options);}returnme;};$.fn.bindListData=function(data,template,options){
27、varme=this;template=template
28、
29、me.getTemplate();this.empty();varresultTemplate=replaceTemplate(template,data);varprepend,append,dvalue;if(options!=undefined){prepend=options.prepend;append=options.append;dvalue=options.dvalue;}if(prepend!=undefined){resultTemplate=pr
30、epend+resultTemplate;}if(append!=undefined){resultTemplate+=append;}this.html(resultTemplate);//綁定控件的默認(rèn)值if(this.attr("type")=="select-one"