<スタイル>
*{
マージン: 0;
パディング: 0;
}
#tableSort{
行の高さ: 22px;
背景: #ccc;
}
#tableSort ヘッド、
#tableSort フット{
背景: #066;
色: #fff;
フォントサイズ: 14px;
}
#tableSort 先頭 a,
#tableSort 先頭 a{
color: #fff;
}
#tableSort tfoot{
背景: #069;
}
#tableSort tbody td{
背景: #fff;
パディング: 3px 5px;
フォントサイズ: 12px;
}
//批量设置checked值
function setChecked(checkBoxs,checked){
for(var i=0,len=checkBoxs.length;i
checkBoxs[i] .checked=チェック済み;
}
}
//批量反置checked值
function reverseChecked(checkBoxs){
for(var i=0,len=checkBoxs.length;icheckBoxs[i].checked=!checkBoxs[i].checked;
}
}
//移除tr值
function RemoveTr(tBody,tr){
tBody.removeChild(tr);
}
//获取tr
function getParentTr(o){
while(o){
o=o.parentNode;
if(o&&o.tagName==="TR"){
return o;
}
}
}
//arrSort排序
function arrSort(arr,isDesc){
var arr=arr.sort(function(num1,num2){
num1-num2 を返します。});
if(isDesc){//desc
arr.reverse();
}
arr を返します。
}
//表格排序
function tableSort(tablePart,col,fun,isDesc){
var arrNum=[],trs={};
for(var i=0,len=tablePart.rows.length;ivar td=tablePart.rows[i].cells[col];
var num=fun(td);
arrNum.push(num);
trs["id" num]=trs["id" num]||[];
trs["id" num].push(getParentTr(td));
}
arrNum=arrSort(arrNum,isDesc);
for(var j=0,jlen=arrNum.length;jfor(var k=0,klen=trs["id" arrNum[j]].length;k< klen;k ){
var tr=trs["id" arrNum[j]].pop();
tablePart.appendChild(tr);
}
}
}
var table=document.getElementById("tableSort");
var checkBoxs=table.tBodies[0].getElementsByTagName('input');
var checkAll=document.getElementById("checkAll");
varreserveCheck=document.getElementById("reserveCheck");
var delSelect=document.getElementById("delSelect");
var timeSort=document.getElementById("timeSort");
varpriceSort=document.getElementById("priceSort");
checkAll.onclick=function(){
setChecked(checkBoxs,this.checked);
}
reserveCheck.onclick=function(){
reverseChecked(checkBoxs);
}
table.tBodies[0].onclick=function(e){
var ev=e||window.event;
var target=ev.target||ev.srcElement;
if(!target)return;
target._op=target.getAttribute("_op");
if(!target._op)return;
if(target._op==="check"&&target.type==="checkbox"&&!target.checked){
checkAll.checked=target.checked;
}
if(target._op==="del"){
var tr=getParentTr(target);
removeTr(table.tBodies[0],tr);
}
}
delSelect.onclick=function(){
var chk=[];
for(var i=0,len=checkBoxs.length;iif(checkBoxs[i].checked){
var tr=getParentTr(checkBoxs[i]);
chk.push(tr);
}
}
for(var j=0,jlen=chk.length;jremoveTr(table.tBodies[0],chk [j]);
}
}
var sortMark="↑↓";
timeSort.onclick=function(){
this.isDesc=(this.isDesc===true)?false:true;
tableSort(table.tBodies[0],3,function(td){
return (new Date(td.innerHTML)).getTime();
},this.isDesc);
priceSort.innerHTML="价格"
this.innerHTML="上架時間间" sortMark[this.isDesc?1:0];
}
priceSort.onclick=function(){
this.isDesc=(this.isDesc===true)?false:true;
tableSort(table.tBodies[0],4,function(td){
return parseInt(td.innerHTML.replace("¥",''));
},this.isDesc);
timeSort.innerHTML="上架時間";
this.innerHTML="价格" sortMark[this.isDesc?1:0];
}