知识点: Array方法:
sort:降序
reverse:反序
效果: 代码: 复制代码 代码如下:
<style>
*{
margin: 0;
padding: 0;
}
#tableSort{
line-height: 22px;
background: #ccc;
}
#tableSort thead,
#tableSort tfoot{
background: #066;
color: #fff;
font-size: 14px;
}
#tableSort thead a,
#tableSort tfoot a{
color: #fff;
}
#tableSort tfoot{
background: #069;
}
#tableSort tbody td{
background: #fff;
padding: 3px 5px;
font-size: 12px;
}
</style>
<table width="500" border="0" cellspacing="1" cellpadding="0" id="tableSort">
<thead>
<tr>
<th width="31" align="center"> </th>
<th width="104">商品名称</th>
<th width="104">商品描述</th>
<th width="124" id="timeSort" _isDesc="false">上架时间</th>
<th width="82" id="priceSort" _isDesc="false">价格</th>
<th width="48">操作</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center"><input type="checkbox" name="checkbox3" id="checkbox2" _op="check" /></td>
<td>1</td>
<td>12312312313</td>
<td>2013-5-8</td>
<td>¥120</td>
<td align="center"><a href="javascript:void(0)" _op="del">删除</a></td>
</tr>
<tr>
<td align="center"><input type="checkbox" name="checkbox4" id="checkbox3" _op="check" /></td>
<td>2</td>
<td>顶戴</td>
<td>2013-5-12</td>
<td>¥140</td>
<td align="center"><a href="javascript:void(0)" _op="del">删除</a></td>
</tr>
<tr>
<td align="center"><input type="checkbox" name="checkbox5" id="checkbox4" _op="check" /></td>
<td>3</td>
<td>欠工</td>
<td>2013-4-8</td>
<td>¥320</td>
<td align="center"><a href="javascript:void(0)" _op="del">删除</a></td>
</tr>
<tr>
<td align="center"><input type="checkbox" name="checkbox6" id="checkbox5" _op="check" /></td>
<td>4</td>
<td>七七</td>
<td>2013-8-8</td>
<td>¥520</td>
<td align="center"><a href="javascript:void(0)" _op="del">删除</a></td>
</tr>
<tr>
<td align="center"><input type="checkbox" name="checkbox7" id="checkbox6" _op="check" /></td>
<td>5</td>
<td>苛</td>
<td>2013-5-25</td>
<td>¥820</td>
<td align="center"><a href="javascript:void(0)" _op="del">删除</a></td>
</tr>
<tr>
<td align="center"><input type="checkbox" name="checkbox8" id="checkbox7" _op="check" /></td>
<td>6</td>
<td>黄梅雨</td>
<td>2013-5-2</td>
<td>¥120</td>
<td align="center"><a href="javascript:void(0)" _op="del">删除</a></td>
</tr>
<tr>
<td align="center"><input type="checkbox" name="checkbox9" id="checkbox8" _op="check" /></td>
<td>7</td>
<td>工作服</td>
<td>2013-5-18</td>
<td>¥1220</td>
<td align="center"><a href="javascript:void(0)" _op="del">删除</a></td>
</tr>
<tr>
<td align="center"><input type="checkbox" name="checkbox10" id="checkbox9" _op="check" /></td>
<td>8</td>
<td>地茜共</td>
<td>2013-3-8</td>
<td>¥1260</td>
<td align="center"><a href="javascript:void(0)" _op="del">删除</a></td>
</tr>
</tbody>
<tfoot>
<tr>
<th align="center"><input type="checkbox" name="checkbox" id="checkAll" /></th>
<th align="left"><a href="javascript:void(0)" id="reserveCheck" >反选</a> <a href="javascript:void(0)" id="delSelect">删除</a></th>
<th align="left"> </th>
<th> </th>
<th> </th>
<th><a href="#"></a></th>
</tr>
</tfoot>
</table>
<script>
//批量设置checked值
function setChecked(checkBoxs,checked){
for(var i=0,len=checkBoxs.length;i<len;i++){
checkBoxs[i].checked=checked;
}
}
//批量反置checked值
function reverseChecked(checkBoxs){
for(var i=0,len=checkBoxs.length;i<len;i++){
checkBoxs[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){
return num1-num2;
});
if(isDesc){//desc
arr.reverse();
}
return arr;
}
//表格排序
function tableSort(tablePart,col,fun,isDesc){
var arrNum=[],trs={};
for(var i=0,len=tablePart.rows.length;i<len;i++){
var 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;j<jlen;j++){
for(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");
var reserveCheck=document.getElementById("reserveCheck");
var delSelect=document.getElementById("delSelect");
var timeSort=document.getElementById("timeSort");
var priceSort=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;i<len;i++){
if(checkBoxs[i].checked){
var tr=getParentTr(checkBoxs[i]);
chk.push(tr);
}
}
for(var j=0,jlen=chk.length;j<jlen;j++){
removeTr(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];
}
</script>
总结: 完成了基本功能,对于联合排序没有实现。后期会慢慢加入,有兴趣的可以把代码放到html页面,运行查看效果。
相关推荐:
SEO找词:如何精准找到高效关键词,提升排名和流量,河源网站优化平台
如何通过AI写文章,轻松提高写作效率与质量
seo需要什么能力,seo需要哪些技术 ,ai长条弯曲
ChatGPT的VPN梯子:畅享全球互联网自由,打破地域限制,一直搜Ai
seo自己做什么,自己做seo需要花钱吗 ,ai850775
seo营销到底是什么,seo算什么营销 ,ai里面新建
为什么要seo排名,为什么要做seo推广 ,AI写作开启创意新世界
SEO做网站点击:提升网站流量的关键策略,国内ai写作论文
seo重点是什么,seo最重要的指标 ,ai网格怎么用
软件我在AI:改变未来的智能助手
整理文章的AI:提升写作效率的智能助手
ChatPartner无法连接网络?解决方案,让你的聊天体验更顺畅!,如何用ai给自己写作文
SEO留痕:数字营销的隐性力量,如何通过SEO优化让品牌更具竞争力,铁岭网站关键词建设优化
GPT优化:让你的工作与生活更高效、更智能,Ai__79
SEO专业怎么样?未来发展的无限潜力与职业前景,联通ai智能早教
ChatGPT页面无法翻阅?带你深度了解背后的原因与解决方案,pdf怎么转换ai文字
ChatGPT:基于Transformer技术的语言模型,开创人工智能未来,AI独战OK
WPS改写-轻松提升文档创作效率的秘密武器,推广网站的优势
SEO重要性与企业互联网发展的必由之路,互联网营销推广平台设计
AI一键生成文章网页版,让内容创作更简单高效
SEO定价策略:如何根据企业需求定制最佳价格方案,教育培训抖音营销推广
SEO技巧提升网站流量和排名,助力企业快速崛起,ai080206.
产品seo什么意思,产品seo标题是什么 ,ai模仿张宇
seo的推广工具,seo推广软件哪个好 ,国内ai写作论文怎么样
WPQQ-开启数字时代的智能连接新纪元,杭州网站推广厂家电话
seo都有什么问题,seo都有什么问题和答案 ,ai凯旋公主下载
GPT版本全解:从基础到高级,如何选择最适合你的方案?,韩国ai人工智能
SEO优化如何进行:提升网站排名,轻松超越竞争对手,ai写作怎么操作手机
SEO优化的话题:助力企业成功的关键,夏杰ai智能管家
SEO运营工作是什么,seo公司运营 ,720516AI
SEO搜索关键词是什么意思?让你轻松网站流量的秘密!,ai颜色不对
seo词库优化,搜索词条优化 ,ai点选择
seo软文有什么作用,seo文案是什么 ,斐乐Ai测评问题
亚马逊中什么是seo,亚马逊sop ,ai临摹中国名画
中外链:打通全球流量的桥梁,提升网站排名与流量的双重保障,行业网站建设思路
洗文章AI:让内容创作变得更智能、更高效
ChatGPT3.5需要登录使用吗?AI使用的真相!,电脑版写作ai推荐怎么关闭
SEO自行:提升网站流量的秘密武器,邹平县个人网站建设建议
SEO指:如何通过精准优化提高网站流量和转化率,无锡论坛营销推广要多久
文章AI生成标题:让创作更轻松,内容更精彩
软件AI的全称:人工智能驱动未来的关键力量
seo适合什么行业,seo适合的行业 ,在ai如何矢量化
实用AI工具:提升效率、优化生活的科技利器
UCMS:引领智慧医疗新时代,打造数字化健康未来,推广工作谈营销
为什么做抖音seo,为什么做抖音推广 ,描边ai虚线
seo管理系统是什么,seo网站管理 ,过度圆ai
ChatGPT破解版:让人工智能助力你的工作与生活,ai cos帽
SEO关键词利器:如何借助精准关键词提升网站流量与排名,ai绘画客户
文章去AI回归创作的本真之美
ChatGPT进不去怎么办?解决方案与技巧,轻松畅享智能对话,ai va