亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? sortabletable.js

?? 圖書(shū)管理系統(tǒng)包括圖書(shū)的增加、刪除、修改等功能
?? JS
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/*	Copyright (c) 2004-2006, The Dojo Foundation	All Rights Reserved.	Licensed under the Academic Free License version 2.1 or above OR the	modified BSD license. For more information on Dojo licensing, see:		http://dojotoolkit.org/community/licensing.shtml*/dojo.provide("dojo.widget.html.SortableTable");dojo.require("dojo.lang");dojo.require("dojo.date");dojo.require("dojo.html");dojo.require("dojo.event.*");dojo.require("dojo.widget.HtmlWidget");dojo.require("dojo.widget.SortableTable");dojo.widget.html.SortableTable=function(){	//	summary	//	Constructor for the SortableTable widget	dojo.widget.SortableTable.call(this);	dojo.widget.HtmlWidget.call(this);	this.headClass="";	this.tbodyClass="";	this.headerClass="";	this.headerSortUpClass="selected";	this.headerSortDownClass="selected";	this.rowClass="";	this.rowAlternateClass="alt";	this.rowSelectedClass="selected";	this.columnSelected="sorted-column";};dojo.inherits(dojo.widget.html.SortableTable, dojo.widget.HtmlWidget);dojo.lang.extend(dojo.widget.html.SortableTable, {	templatePath:null,	templateCssPath:null,	getTypeFromString:function(/* string */ s){		//	summary		//	Find the constructor that matches param s by searching through the entire object tree.		var parts=s.split("."),i=0,obj=dj_global; 		do{obj=obj[parts[i++]];}while(i<parts.length&&obj); 		return(obj!=dj_global)?obj:null;	//	function	},	compare:function(/* object */ o1, /* object */ o2){		//	summary		//	Compare two objects using a shallow property compare		for(var p in o1){			if(!(p in o2)) return false;	//	boolean			if(o1[p].valueOf()!=o2[p].valueOf()) return false;	//	boolean		}		return true;	// boolean	},	isSelected:function(/* object */ o){		//	summary		//	checked to see if the passed object is in the current selection.		for(var i=0;i<this.selected.length;i++){			if(this.compare(this.selected[i],o)){				return true; // boolean			}		}		return false;	// boolean	},	removeFromSelected:function(/* object */ o){		//	summary		//	remove the passed object from the current selection.		var idx=-1;		for(var i=0;i<this.selected.length;i++){			if(this.compare(this.selected[i],o)){				idx=i;				break;			}		}		if(idx>=0){			this.selected.splice(idx,1);		}	},	getSelection:function(){		//	summary		//	return the array of currently selected objects (JSON format)		return this.selected;	//	array	},	getValue:function(){		//	summary		//	return a comma-delimited list of selected valueFields.		var a=[];		for(var i=0;i<this.selected.length;i++){			if (this.selected[i][this.valueField]){				a.push(this.selected[i][this.valueField]);			}		}		return a.join();	//	string	},	reset:function(){		//	summary		//	completely resets the internal representations.		this.columns=[];		this.data=[];		this.resetSelections(this.domNode.getElementsByTagName("tbody")[0]);	},	resetSelections:function(/* HTMLTableBodyElement */ body){		this.selected=[];		var idx=0;		var rows=body.getElementsByTagName("tr");		for(var i=0; i<rows.length; i++){			if(rows[i].parentNode==body){				rows[i].removeAttribute("selected");				if(this.enableAlternateRows&&idx%2==1){					rows[i].className=this.rowAlternateClass;				}else{					rows[i].className="";				}				idx++;			}		}	},	getObjectFromRow:function(/* HTMLTableRowElement */ row){		//	summary		//	creates a JSON object based on the passed row		var cells=row.getElementsByTagName("td");		var o={};		for(var i=0; i<this.columns.length;i++){			if(this.columns[i].sortType=="__markup__"){				//	FIXME: should we parse this instead?  Because if the user may not get back the markup they put in...				o[this.columns[i].getField()]=cells[i].innerHTML;			}else{				var text=dojo.html.renderedTextContent(cells[i]);				var val=new (this.columns[i].getType())(text);				o[this.columns[i].getField()]=val;			}		}		if(dojo.html.hasAttribute(row,"value")){			o[this.valueField]=dojo.html.getAttribute(row,"value");		}		return o;	//	object	},	setSelectionByRow:function(/* HTMLTableElementRow */ row){		//	summary		//	create the selection object based on the passed row, makes sure it's unique.		//	note that you need to call render manually (because of multi-select operations)		var o=this.getObjectFromRow(row);		var b=false;		for(var i=0;i<this.selected.length;i++){			if(this.compare(this.selected[i], o)){				b=true;				break;			}		}		if(!b){			this.selected.push(o);		}	},	parseColumns:function(/* HTMLTableHeadElement */ node){		//	summary		//	parses the passed element to create column objects		this.reset();		var row=node.getElementsByTagName("tr")[0];		var cells=row.getElementsByTagName("td");		if (cells.length==0) cells=row.getElementsByTagName("th");		for(var i=0; i<cells.length; i++){			var o={				field:null,				format:null,				noSort:false,				sortType:"String",				dataType:String,				sortFunction:null,				label:null,				align:"left",				valign:"middle",				getField:function(){ return this.field||this.label; },				getType:function(){ return this.dataType; }			};			//	presentation attributes			if(dojo.html.hasAttribute(cells[i], "align")){				o.align=dojo.html.getAttribute(cells[i],"align");			}			if(dojo.html.hasAttribute(cells[i], "valign")){				o.valign=dojo.html.getAttribute(cells[i],"valign");			}			//	sorting features.			if(dojo.html.hasAttribute(cells[i], "nosort")){				o.noSort=dojo.html.getAttribute(cells[i],"nosort")=="true";			}			if(dojo.html.hasAttribute(cells[i], "sortusing")){				var trans=dojo.html.getAttribute(cells[i],"sortusing");				var f=this.getTypeFromString(trans);				if (f!=null && f!=window && typeof(f)=="function") 					o.sortFunction=f;			}			if(dojo.html.hasAttribute(cells[i], "field")){				o.field=dojo.html.getAttribute(cells[i],"field");			}			if(dojo.html.hasAttribute(cells[i], "format")){				o.format=dojo.html.getAttribute(cells[i],"format");			}			if(dojo.html.hasAttribute(cells[i], "dataType")){				var sortType=dojo.html.getAttribute(cells[i],"dataType");				if(sortType.toLowerCase()=="html"||sortType.toLowerCase()=="markup"){					o.sortType="__markup__";	//	always convert to "__markup__"					o.noSort=true;				}else{					var type=this.getTypeFromString(sortType);					if(type){						o.sortType=sortType;						o.dataType=type;					}				}			}			o.label=dojo.html.renderedTextContent(cells[i]);			this.columns.push(o);			//	check to see if there's a default sort, and set the properties necessary			if(dojo.html.hasAttribute(cells[i], "sort")){				this.sortIndex=i;				var dir=dojo.html.getAttribute(cells[i], "sort");				if(!isNaN(parseInt(dir))){					dir=parseInt(dir);					this.sortDirection=(dir!=0)?1:0;				}else{					this.sortDirection=(dir.toLowerCase()=="desc")?1:0;				}			}		}	},	parseData:function(/* array */ data){		//	summary		//	Parse the passed JSON data structure, and cast based on columns.		this.data=[];		this.selected=[];		for(var i=0; i<data.length; i++){			var o={};	//	new data object.			for(var j=0; j<this.columns.length; j++){				var field=this.columns[j].getField();				if(this.columns[j].sortType=="__markup__"){					o[field]=String(data[i][field]);				}else{					var type=this.columns[j].getType();					var val=data[i][field];					var t=this.columns[j].sortType.toLowerCase();					if(val){						o[field]=new type(val);					}else{						o[field]=new type();	//	let it use the default.					}				}			}			//	check for the valueField if not already parsed.			if(data[i][this.valueField]&&!o[this.valueField]){				o[this.valueField]=data[i][this.valueField];			}			this.data.push(o);		}	}, 	parseDataFromTable:function(/* HTMLTableBodyElement */ tbody){		//	summary		//	parses the data in the tbody of a table to create a set of objects.		//	Will add objects to this.selected if an attribute 'selected="true"' is present on the row.		this.data=[];		this.selected=[];		var rows=tbody.getElementsByTagName("tr");		for(var i=0; i<rows.length; i++){			if(dojo.html.getAttribute(rows[i],"ignoreIfParsed")=="true"){				continue;			}			var o={};	//	new data object.			var cells=rows[i].getElementsByTagName("td");			for(var j=0; j<this.columns.length; j++){				var field=this.columns[j].getField();				if(this.columns[j].sortType=="__markup__"){					//	FIXME: parse this?					o[field]=cells[j].innerHTML;				}else{					var type=this.columns[j].getType();					var val=dojo.html.renderedTextContent(cells[j]); //	should be the same index as the column.					if (val) o[field]=new type(val);					else o[field]=new type();	//	let it use the default.				}			}			if(dojo.html.hasAttribute(rows[i],"value")&&!o[this.valueField]){				o[this.valueField]=dojo.html.getAttribute(rows[i],"value");			}			//	FIXME: add code to preserve row attributes in __metadata__ field?

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜私人影院| 色系网站成人免费| 亚洲一区二区四区蜜桃| 国产欧美日韩另类一区| 88在线观看91蜜桃国自产| 99re这里只有精品6| 国产精品影视在线| 韩国v欧美v日本v亚洲v| 丝袜诱惑亚洲看片| 亚洲国产你懂的| 亚洲在线视频网站| 17c精品麻豆一区二区免费| 国产欧美一区二区三区鸳鸯浴| 这里只有精品视频在线观看| 欧美日韩国产综合草草| 欧美军同video69gay| 欧美日韩国产123区| 欧美色图免费看| 7777女厕盗摄久久久| 91麻豆精品国产自产在线观看一区| 欧美日韩中文字幕一区二区| 欧美日韩精品专区| 日本久久电影网| 欧美日本在线一区| 日韩免费观看2025年上映的电影| 91精品国产麻豆| 国产日韩亚洲欧美综合| 亚洲精品国产一区二区精华液 | 国产精品国产自产拍在线| 成人免费视频在线观看| 亚洲成av人片www| 久久激五月天综合精品| av网站免费线看精品| 欧美影院午夜播放| 久久久综合视频| 曰韩精品一区二区| 国内精品伊人久久久久av影院 | 色婷婷综合激情| 欧美电影免费观看高清完整版在线观看 | 日韩黄色小视频| 高清免费成人av| 欧美久久免费观看| 中文字幕av一区 二区| 午夜精品福利视频网站| 97久久久精品综合88久久| 欧美哺乳videos| 性久久久久久久| 91麻豆成人久久精品二区三区| 日韩一级片在线播放| 亚洲国产aⅴ天堂久久| 91视频精品在这里| 国产精品久久久爽爽爽麻豆色哟哟| 老司机精品视频导航| 777久久久精品| 亚洲第一福利视频在线| 色婷婷综合久久久中文一区二区| 国产欧美一二三区| 国产a视频精品免费观看| 久久一区二区三区国产精品| 日本欧美一区二区三区| 欧美日韩一区在线观看| 一区二区三区鲁丝不卡| 91浏览器打开| 亚洲色图一区二区| 91福利精品第一导航| 一区二区三区欧美| 91精品国产乱码久久蜜臀| 肉色丝袜一区二区| 欧美一区二区大片| 久久精品国产久精国产| 欧美男人的天堂一二区| 图片区小说区区亚洲影院| 制服丝袜激情欧洲亚洲| 精品在线你懂的| 久久精品综合网| 91免费版在线看| 亚洲午夜精品久久久久久久久| 欧美三级欧美一级| 蜜臀av一区二区在线免费观看 | 久热成人在线视频| 国产精品久久久久久久岛一牛影视| 91美女在线视频| 日本不卡高清视频| 欧美激情在线观看视频免费| 91激情五月电影| 美女国产一区二区三区| 国产精品久久久久毛片软件| 欧美日韩成人综合在线一区二区| 国产一区三区三区| 亚洲午夜一区二区| 国产日本亚洲高清| 91精品一区二区三区在线观看| 粉嫩绯色av一区二区在线观看| 亚洲精品自拍动漫在线| 国产亚洲一区二区三区在线观看| 91久久精品一区二区三| 国产一区二区三区免费在线观看| 亚洲高清免费视频| 最新中文字幕一区二区三区| 久久综合成人精品亚洲另类欧美| 日本久久电影网| 99久久免费视频.com| 国产91丝袜在线观看| 美腿丝袜亚洲一区| 日产国产欧美视频一区精品| 亚洲色欲色欲www在线观看| 国产日韩欧美不卡在线| 精品剧情v国产在线观看在线| 欧美日韩精品二区第二页| 91丝袜呻吟高潮美腿白嫩在线观看| 久久99国产精品久久99果冻传媒| 亚洲国产精品一区二区久久| 亚洲人一二三区| 亚洲欧美另类在线| 伊人婷婷欧美激情| 亚洲激情自拍视频| 一区二区免费看| 亚洲精品国产精品乱码不99 | 亚洲人成精品久久久久| 亚洲欧美日韩综合aⅴ视频| 亚洲乱码中文字幕| 亚洲国产日韩av| 日日噜噜夜夜狠狠视频欧美人| 亚洲综合一二三区| 亚洲成人动漫av| 精品夜夜嗨av一区二区三区| 久久99国产精品免费网站| 国产精品一区二区x88av| 成人免费看片app下载| 91免费精品国自产拍在线不卡| 欧美伊人久久久久久久久影院| 欧美日高清视频| 久久老女人爱爱| 一区二区久久久| 精品亚洲成a人在线观看| 国产v日产∨综合v精品视频| 91蜜桃婷婷狠狠久久综合9色| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 欧美久久久久久久久| 精品久久久久香蕉网| 中文字幕一区视频| 蜜桃在线一区二区三区| 99久久国产免费看| 精品日韩一区二区三区免费视频| 中文字幕av一区 二区| 丝袜美腿亚洲一区| 91玉足脚交白嫩脚丫在线播放| 欧美精品在线观看播放| 亚洲天堂a在线| 国产成人av影院| 91麻豆精品国产91久久久久久久久 | 91精品国产福利在线观看| 中文字幕第一区综合| 麻豆国产欧美一区二区三区| 一本色道久久综合亚洲精品按摩| 日韩欧美成人一区| 午夜精品久久久| 色伊人久久综合中文字幕| 国产精品网曝门| 国产精品一区二区久激情瑜伽| 日韩一级黄色大片| 日韩和欧美的一区| 欧美日韩另类一区| 亚洲女人的天堂| 在线看不卡av| 亚洲成人av电影在线| 欧美性猛交xxxxxx富婆| 亚洲va欧美va国产va天堂影院| 91在线精品一区二区三区| 亚洲欧洲国产日本综合| av不卡免费在线观看| 亚洲精品v日韩精品| 欧美熟乱第一页| 无吗不卡中文字幕| 精品欧美一区二区久久 | 中文无字幕一区二区三区| 99麻豆久久久国产精品免费优播| 国产精品美女www爽爽爽| 色综合久久88色综合天天免费| 一区二区三区四区不卡视频| 欧美日韩一区三区| 美女一区二区视频| 国产精品女人毛片| 在线亚洲人成电影网站色www| 亚洲国产成人精品视频| 精品人伦一区二区色婷婷| 99国产欧美久久久精品| 日本免费在线视频不卡一不卡二| 精品国产亚洲一区二区三区在线观看| 韩国三级在线一区| 亚洲自拍与偷拍| 久久午夜羞羞影院免费观看| 一本大道av一区二区在线播放| 日韩精品福利网| 国产精品美女久久久久久久久久久| 欧美偷拍一区二区| 粉嫩一区二区三区性色av| 麻豆一区二区三| 亚洲精品第1页| 国产偷国产偷精品高清尤物 |